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
    Flo, Ariège

    Il n'y a que celui qui a honte d'apprendre qui a peur de demander

    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 :
      Si vous fréquentez notre blog, il ne vous aura pas échappé qu'il est urgent de passer au HTTPS. L’échéance est d’autant plus forte que les géants du Web ont déjà tiré leurs coups de semonce en affichant des alertes sur certaines pages en HTTP dans Google Chrome et Mozilla Firefox.…



      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 Com****r 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 aime ceci.
                Christophe (cavo789)
                Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                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)​

                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
                            Aucune annonce pour le moment.

                            Partenaire de l'association

                            Réduire

                            Hébergeur Web PlanetHoster
                            Travaille ...
                            X