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

Activer le HSTS : pourquoi et comment

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

  • #16
    Ouais. Autant dire que si des experts comme vous, les gars, n'arrivez pas à vos fins, je ne suis pas à la veille d'y arriver.
    On en reparle dans un an

    Commentaire


    • #17
      Envoyé par FlodAriege Voir le message
      Ouais. Autant dire que si des experts comme vous, les gars, n'arrivez pas à vos fins, je ne suis pas à la veille d'y arriver.
      On en reparle dans un an
      Le plus simple serait de voir le problème dans son ensemble.
      N'hésitez pas à publier votre fichier htaccess et le message d'erreur afin que l'on puisse vous aider.

      Récapitulatif :

      1. - sur https://hstspreload.org, la soumission de l'url doit être sans www (que l'on choisisse ou non de conserver www)
      Le test se fait globalement sur le domaine (et non sur un sous-domaine), le résultat dépend donc du site sur le domaine principal.

      Vous pouvez également tester sur ssl labs, cela doit être indiqué "grade A+" avec le détail :
      en preload sur chrome, en cours sur les autres navigateurs : http://prntscr.com/lmoy2e
      ou activé mais pas ajouté dans la liste preload : http://prntscr.com/lmox62

      J'accorde beaucoup d'importance au test SSL Labs car il affiche des informations supplémentaires. Sur des sites e-commerce, on active HSTS mais on limite également le certificat TLS en version 1.1 minimum (obligatoire depuis Juin 2018 pour rester conforme au standard PCI). Pour ma part, cette information (pour la version de TLS) fut confirmée plusieurs fois par les banques des sites e-commerce. Cela veut dire que l'on ne pourra plus utiliser un ancien navigateur pour commander ou acheter sur votre site (par exemple, une vieille version d'internet explorer sous windows xp)...

      exemple d'erreur (ou inactif) : http://prntscr.com/lmowpt
      https://www.ssllabs.com/ssltest/

      Note : Les sites utilisant les services de Cloudflare peuvent activer rapidement HSTS (inclus même dans le plan gratuit).
      Capture d'écran : http://prntscr.com/lmpazp

      Explications :
      https://blog.dareboost.com/fr/2017/0...ns-securisees/
      https://www.globalsign.fr/fr/blog/qu...ettre-en-uvre/

      2. - la directive preload est obligatoire uniquement si on souhaite être présent dans la liste.

      3. - L'ordre a beaucoup d'importance et pas uniquement pour hsts mais aussi pour des questions de sécurité.
      Quand le test donne "HTTP redirects to www first", il faut comprendre que la redirection vers l'url avec www est placé avant la redirection https, il est préférable de corriger cela.

      4. si le site hstspreload affiche le message : Status: nomdusite.fr is currently preloaded. ce qui signifie que le site validé et présent dans la liste (au moins pour celle de chrome).









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

      Commentaire


      • #18
        Hello,

        Pour illustrer l'objectif de cette validation HSTS Preload, je vous donne une petite information récente.

        Cela vient du Canton de Genève, Nos amis suisses viennent de mettre fin (pour 2020) à leur système précurseur de vote en ligne dont la faille, une attaque de type MITM (Man In The Middle), fut révélée par un hacker du célèbre Chaos Computer Club.

        source : https://www.rts.ch/info/regions/gene...ctronique.html

        Il y a eu beaucoup de discussions sur le sujet dont notamment l'idée qu'il serait plus difficile au hacker de recréer cet exploit si le site avait notamment mis en application le mécanisme du HSTS Preload comme l'explique un passionné sur son blog : https://blog.cholletk.me/2018/11/e-v...un-verre-deau/

        Je partage son avis toutefois valable que par l'utilisation d'un navigateur récent. Et justement, le navigateur récent est l'un des critères que j'inclus désormais en alerte notamment dans les sites e-commerce. En effet, depuis Juin 2018, les sites utilisant virtuemart, hikashop et autres extensions e-commerce sont obligatoirement en TLS 1.1 au minimum (voir discussion sur le sujet).
        Autrement on affiche une erreur que j'ai personnalisé avec une invitation à mettre à jour leur navigateur.

        Pour résumer un peu la situation actuelle, il n'y a aucune obligation à faire partie de cette liste preload HSTS en général ou de supprimer le support de TLS 1.0 si votre site n'est pas un site e-commerce mais dans tous les cas, soyez attentifs à la sécurité de votre site, de faire ce qu'il faut pour éviter de vous retrouver dans la même situation surtout que la réglementation européenne (RGPD) met un peu la pression.

        A titre d'info, vous pouvez retrouver le monitoring du site SSL Labs : https://www.ssllabs.com/ssl-pulse/ en plus de leur test ultime : https://www.ssllabs.com/ssltest

        En novembre 2018, seul 13.6% des 150000 sites étudiés disposent du grade A+, ce qui indique que le chemin est encore long !!
        N'hésitez pas à nous indiquer si vous avez atteint ce niveau et si vous faites partie de la liste ou si vous avez toujours des difficultés

        Une fois validé et confirmé, votre site sera noté dans la liste disponible :
        https://cs.chromium.org/chromium/src...te_static.json



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

        Commentaire


        • #19
          En ce qui me concerne, A+ sur tous mes deux sites.

          Commentaire


          • #20
            Envoyé par daneel Voir le message

            Si on veut être précis et vérifier la présence du module header, ces trois lignes fonctionnent (déjà testé) à copier en premier dans le fichier htaccess.
            (Déjà donné par Christophe)

            Code:
            <IfModule mod_headers.c>
            Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
            </IfModule>
            Yann. J'ai suivi les instructions. Sur un domaine, j'ai désactivé le forçage https dans la config de Joomla et aussi directement sur le serveur (un option est présente), j'ai désactivé la redirection d'aeSecure non www vers www et ai utilisé :

            Code:
            <IfModule mod_rewrite.c>
             RewriteEngine On RewriteCond %{HTTPS} !=on
             RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
             RewriteCond %{HTTP_HOST} !^www\.
             RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
            </IfModule>
            J'ai testé sur https://hstspreload.org/ les redirections se font bien et dans le bon ordre. J'ai une erreur

            Error: No HSTS header
            Response error: No HSTS header is present on the response.

            Je place
            Code:
              <IfModule mod_headers.c>
            Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
            </IfModule>
            au tout début de l'htaccess et teste. L'erreur persiste… Que fais-je de mal ?
            Dernière édition par Eddy.vh à 08/12/2018, 08h54
            Cordialement.
            __
            Eddy !!!
            Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

            Commentaire


            • #21
              Bonsoir

              Le module n'est peut-être pas activé sur le serveur. C'est mon cas pour plusieurs sites.

              Commentaire


              • #22
                Bonjour

                Après avoir chipoté pour avoir un "certificat" vert sur hsts, voici les règles que j'ai mis dans mon .htaccess :

                Voir https://github.com/cavo789/htaccess#...ecurity-policy et https://github.com/cavo789/htaccess#...le-hstspreload

                (attention: n'activez la ligne "Header set Content-Security-Policy" que si vous savez ce que vous faites).

                Mon site "vert" est https://hstspreload.org/?domain=avonture.be

                Bonne journée.
                ZerooCool 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


                • #23
                  Avec l'aide du plugin proposé par Yann (daneel) j'obtiens un A sur https://securityheaders.com

                  mais https://hstspreload.org m'indique toujours la même erreur… (>
                  Cordialement.
                  __
                  Eddy !!!
                  Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                  Commentaire


                  • #24
                    Bonjour Eddy.vh , as tu pu valider avec hstspreload.org ?
                    J'en suis à la synthèse de vos discussions, mais, je n'ai pas encore tenté la mise en application de HSTS.
                    https://www.***********.eu/wiki/inde...an#Mod_Headers
                    https://www.***********.eu/wiki/inde...sport_Security

                    J'ai survolé les liens de cavo789, et, j'ai regardé la règle qu'il propose, qui est la suivante :

                    Code:
                    # Force HTTPS (don't use this if you're still on http) # env=HTTPS didn't work... but while "expr=%{HTTPS} == 'on'" is well working
                    # see https://stackoverflow.com/questions/24144552/how-to-set-hsts-header-from-htaccess-only-on-https
                    #comment81632711_24145033
                    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" "expr=%{HTTPS} == 'on'"
                    Je reprends les liens essentiels qui ont été mentionnés dans cette échange, et, en ajoute quelques autres, pour tester une configuration SSL.

                    Générateur de CSP : https://www.cspisawesome.com
                    Validateur de CSP : https://cspvalidator.org/#url=https://cspvalidator.org/

                    Tester une configuration HSTS : https://hstspreload.org

                    Tester une configuration SSL : https://www.ssllabs.com/ssltest/
                    Tester une configuration SSL : https://www.ionos.fr/tools/ssl-checker
                    Tester une configuration SSL : https://www.httpcs.com/fr/tester-certificat-ssl
                    Tester une configuration SSL : https://www.ssl-europa.com/faqs/veri...ertificat-ssl/

                    Tester son navigateur : https://www.ssllabs.com/ssltest/viewMyClient.html
                    Statistiques sur l'implémentation de SSL sur internet : https://www.ssllabs.com/ssl-pulse/
                    Dernière édition par ZerooCool à 27/01/2019, 05h38

                    Commentaire


                    • #25
                      Bonjour ZerooCool.

                      Je ne suis pas en mesure de valider avec hstspreload.org parce que le domaine eddy-vh.com n'a que des sous-domaines actifs à l'heure actuelle et il refuse les tests de sous-domaines.
                      Cordialement.
                      __
                      Eddy !!!
                      Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                      Commentaire


                      • #26
                        Bonjour Eddy.

                        C'est bien ce que j'avais compris, j'ai le même cas que toi, et, je dois justement corriger mes Vhosts pour voir à obtenir la validation.
                        As tu regardé la configuration proposée par cavo789 ?

                        Suite à la relecture de l'ensemble de ce post, je comprend que :

                        L'outil demande de forcer la redirection de http vers https directement.
                        Il indiquera un message d'erreur si on redirige directement http vers https://www.
                        Il faudrait donc mettre en place une règle de redirection de http vers https, et, seulement après, rediriger vers le sous domaine www.

                        Cela ne veut pas dire qu'il n'est pas possible d'obtenir la validation quand on utilise un sous domaine www, mais, qu'il faut configurer autrement le bouzin.
                        Normalement, la proposition faite par cavo789 devrait fonctionner ?

                        Si quelqu'un d'autre pouvait confirmer que son domaine par défaut est affiché avec www. et que sa configuration fonctionne lors de la validation. Merci.

                        Commentaire


                        • #27
                          Ouais, ça y est, je valide l'ordre des redirections sur breezingforms.eddy-vh.com mais c'est un jeu de yoyo entre les paramètres serveurs le certificat SSL et les htacess…
                          Cordialement.
                          __
                          Eddy !!!
                          Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                          Commentaire


                          • #28
                            Un exemple fonctionnel pour les prochains qui voudraient mettre HSTS en place. Fonctionne sous Apache 2.4.

                            Code:
                            # VirtualHost du domaine ***********.fr
                            ## ## ## Port 80 ## ## ##
                            <VirtualHost *:80>
                            ServerName ***********.fr
                            ServerAlias www.***********.fr
                            DocumentRoot /var/www/***********.fr
                            ErrorLog ${APACHE_LOG_DIR}/error.log
                            CustomLog ${APACHE_LOG_DIR}/access.log combined
                            
                            <IfModule mod_rewrite.c>
                            RewriteEngine on
                            # Redirection de http vers https.
                            RewriteCond %{HTTPS} off
                            RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
                            </IfModule>
                            </VirtualHost>
                            
                            ## ## ## Port 443 ## ## ##
                            <VirtualHost *:443>
                            ServerName ***********.fr
                            ServerAlias www.***********.fr
                            ServerAdmin mail@***********.com
                            DocumentRoot /var/www/***********.fr
                            ErrorLog ${APACHE_LOG_DIR}/error.log
                            CustomLog ${APACHE_LOG_DIR}/access.log combined
                            
                            # CSP - Politique de sécurité du contenu.
                            <IfModule mod_headers.c>
                            # Charger l'entête HSTS.
                            Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
                            
                            # Protéger des failles X-XSS X-Frame X-Content.
                            Header set X-XSS-Protection "1; mode=block"
                            Header always set X-Frame-Options "SAMEORIGIN"
                            Header set X-Content-Type-Options nosniff
                            
                            # A mettre en place en fonction de vos besoins.
                            #Header set Access-Control-Allow-Origin: "..."
                            #Header set Content-Security-Policy: "..."
                            
                            # Le navigateur n'enverra pas l'en-tête du référent lors de la navigation de HTTPS vers HTTP.
                            Header always set Referrer-Policy 'no-referrer-when-downgrade'
                            
                            # Identique à CSP mais au lieu de contrôler la sécurité c'est un contrôle des fonctionnalités.
                            Header always set Feature-Policy "geolocation none;midi none;notifications none;push none;sync-xhr self;microphone none;camera none;magnetometer none;gyroscope none;speaker self;vibrate none;fullscreen self;payment none;"
                            </IfModule>
                            
                            <IfModule mod_rewrite.c>
                            RewriteEngine on
                            # Redirection de https non-www vers https www
                            RewriteCond %{SERVER_NAME} !^www\.(.*)$ [NC]
                            RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
                            </IfModule>
                            </VirtualHost>
                            Dernière édition par ZerooCool à 06/02/2019, 20h43

                            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