Fonctionnement du plugin HTTPheaders

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

  • #31
    Il sagissait de l'instruction HSTS qui se trouvait dans l'htaccess. Probablement dune inscription précédente oubliée.
    Cordialement.
    __
    Eddy !!!
    Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

    Commentaire


    • #32
      Valider la vérification de hstspreload : https://hstspreload.org pour enregistrer le site dans la liste pour profiter du préchargement https.
      J'ai pu valider la règle HSTS en configurant correctement le fichier du VirtualHost.

      J'ai noté que si j'ajoute " env=HTTPS " à la fin de la ligne pour mettre en place HSTS dans la configuration, la validation ne fonctionne pas avec un message d'erreur du type : Aucun entête HSTS n'a été trouvé.

      Cavo789 dans ses notes proposait un code alternatif que je n'ai pas testé :
      # env=HTTPS didn't work... but while "expr=%{HTTPS} == 'on'" is well working
      # see https://stackoverflow.com/questions/...32711_24145033
      Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" "expr=%{HTTPS} == 'on'"

      J'ai préféré ne pas passer par le plugin pour comprendre la bonne façon de configurer HSTS et SSL.
      Le code suivant est fonctionnel pour HSTS.

      Un B est obtenu avec SSL Labs : https://www.ssllabs.com/ssltest/anal...***********.fr
      Un B+ est obtenu avec Observatory Mozilla : https://observatory.mozilla.org/analyze/***********.fr

      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
      #RewriteCond %{SERVER_NAME} =***********.fr
      RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
      </IfModule>
      </VirtualHost>
      
      ## ## ## Port 443 ## ## ##
      <VirtualHost *:443>
      # J'ai mis ce code en seconde position lors du test de validation de HSTS preload.
      # Je l'ai remis en première position après avoir validé le test.
      # Ça ne devrait pas influer sur la validation.
      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
      
      # Certaines adresses ne sont pas ajoutées comme étant autorisées, comme celle de https://static.doubleclick.net/instream/ad_status.js” appelée lors de la consultation de ma playlist de Youtube.
      Header set Access-Control-Allow-Origin: "default-src 'self' https://www.***********.fr https://www.youtube.com"
      Header set Content-Security-Policy: "default-src 'self' https://www.***********.fr; script-src 'self' 'unsafe-inline' https://www.***********.fr https://www.youtube.com https://s.ytimg.com; object-src 'self' https://www.***********.fr; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' https://www.***********.fr https://i.ytimg.com; media-src 'self' https://www.***********.fr https://youtu.be; frame-src 'self' https://www.***********.fr https://www.youtube.com https://www.coingecko.com; font-src 'self' 'unsafe-inline' https://www.***********.fr https://fonts.gstatic.com data:; connect-src 'self' https://www.***********.fr"
      
      # 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>
      
      # Charger le certificat Let's Encrypt.
      <IfModule mod_ssl.c>
      SSLEngine on
      SSLCertificateFile /etc/letsencrypt/live/PATH/cert.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/PATH/privkey.pem
      SSLCertificateChainFile /etc/letsencrypt/live/PATH/chain.pem
      </IfModule>
      
      <Directory /var/www/***********.fr>
      # Activer le suivi des liens symboliques.
      Options FollowSymLinks
      # Protéger l'accès aux répertoires.
      Options -Indexes
      # Permettre la prise en compte du fichier .htaccess.
      AllowOverride All
      </Directory>
      
      <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>
      Je n'ai pas ajouté certaines adresses comme étant autorisées, comme celle de https://static.doubleclick.net/instream/ad_status.js” qui est appelée lors de la consultation de ma playlist de Youtube.
      De ce fait, ce script n'est pas accepté lors de la navigation.
      Est ce judicieux de bloquer ainsi un script utilisé par mon composant Joomla ? Faudrait t'il malgré tout l'autoriser ?
      Je suppose que ce script n'est pas nécessaire, dans mon cas, puisqu'il est utilisé pour des stitistiques de clic, je peux alors ne pas l'autoriser.

      Il me semble que je suis obligé de mettre https://www.youtube.com dans le Access-Control-Allow-Origin: "default-src 'self' https://www.***********.fr https://www.youtube.com" Sinon, le message d'erreur ne disparaît pas depuis la console, lors de la visite de ma playlist musicale.
      Est ce judicieux d'avoir un autre domaine dans le Access Control Allow Origin ?
      Dernière édition par ZerooCool à 05/02/2019, 18h28

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X