FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Qu'est-ce que HSTS et comment protège-t-il HTTPS des pirates ?

Vous vous êtes peut-être assuré que SSL est activé sur vos sites Web et que le joli cadenas de sécurité de votre navigateur est vert. Cependant, vous avez peut-être oublié le petit homme de sécurité de HTTP, HTTP Strict Transport Security (HSTS).

Qu'est-ce que le HSTS et comment peut-il vous aider à sécuriser votre site ?

Qu'est-ce que HTTPS ?

Qu est-ce que HSTS et comment protège-t-il HTTPS des pirates ?

Hyper Text Transfer Protocol Secure (HTTPS) est une version sécurisée d'un site Web (HTTP). Le cryptage est activé à l'aide du protocole Secure Sockets Layer (SSL) et est validé avec un certificat SSL. Lorsque vous vous connectez à un site Web HTTPS, les informations transférées entre le site Web et l'utilisateur sont cryptées.

Ce cryptage vous aide à vous protéger contre le vol de données via les attaques Man-in-the-Middle-Attacks (MITM). La couche de sécurité supplémentaire contribue également à améliorer légèrement la réputation de votre site Web. En fait, l'ajout d'un certificat SSL est si simple que de nombreux hébergeurs l'ajouteront par défaut à votre site, gratuitement ! Cela dit, HTTPS présente encore quelques défauts que HSTS peut aider à corriger.

Qu'est-ce que le HSTS ?

HSTS est un en-tête de réponse qui informe un navigateur que les sites Web activés ne sont accessibles que via HTTPS. Cela oblige votre navigateur à ne pouvoir accéder qu'à la version HTTPS du site Web et à toutes les ressources qu'il contient.

Vous ne savez peut-être pas que même si vous avez correctement configuré votre certificat SSL et activé HTTPS pour votre site Web, la version HTTP est toujours disponible. Cela est vrai même si vous avez configuré le transfert à l'aide de la redirection permanente 301.

Bien que la politique HSTS existe depuis un certain temps, elle n'a été officiellement déployée par Google qu'en juillet 2016. C'est peut-être la raison pour laquelle vous n'en avez pas encore beaucoup entendu parler.

L'activation du HSTS arrêtera les attaques de protocole SSL et le piratage de cookies, deux vulnérabilités supplémentaires sur les sites Web compatibles SSL. Et en plus de rendre un site Web plus sécurisé, HSTS accélérera le chargement des sites en supprimant une étape dans la procédure de chargement.

Qu'est-ce que le SSL Stripping ?

Bien que HTTPS soit une énorme amélioration par rapport à HTTP, il n'est pas invulnérable au piratage. Le dépouillement SSL est un hack MITM très courant pour les sites Web qui utilise la redirection pour envoyer les utilisateurs d'une version HTTP vers la version HTTPS de leur site Web.

La redirection 301 (permanente) et 302 (temporaire) fonctionne essentiellement comme ceci :

  1. Un utilisateur saisit google.com dans la barre d'adresse de leur navigateur.
  2. Le navigateur essaie initialement de charger http://google.com par défaut.
  3. "Google.com" est configuré avec une redirection permanente 301 vers https://google.com .
  4. Le navigateur voit la redirection et charge https://google.com au lieu.

Avec le SSL stripping, le pirate peut utiliser le temps entre l'étape 3 et l'étape 4 pour bloquer la demande de redirection et empêcher le navigateur de charger la version sécurisée (HTTPS) du site Web. Comme vous accédez alors à une version non cryptée du site Web, toutes les données que vous entrez peuvent être volées.

Le pirate peut également vous rediriger vers une copie du site Web auquel vous essayez d'accéder et capturer toutes vos données au fur et à mesure que vous les saisissez, même si elles semblent sécurisées.

Google a mis en place des étapes dans Chrome pour arrêter certains types de redirection. Cependant, l'activation du HSTS devrait désormais être quelque chose que vous ferez par défaut pour tous vos sites Web.

 Comment l'activation de HSTS arrête-t-elle l'élimination SSL ?

L'activation de HSTS oblige le navigateur à charger la version sécurisée d'un site Web et ignore toute redirection et tout autre appel pour ouvrir une connexion HTTP. Cela ferme la vulnérabilité de redirection qui existe avec une redirection 301 et 302.

Il y a même un côté négatif au HSTS, c'est que le navigateur d'un utilisateur doit voir l'en-tête HSTS au moins une fois avant de pouvoir en profiter pour de futures visites. Cela signifie qu'ils devront passer par le processus HTTP> HTTPS au moins une fois, ce qui les rendra vulnérables la première fois qu'ils visiteront un site Web compatible HSTS.

Pour lutter contre cela, Chrome précharge une liste de sites Web sur lesquels HSTS est activé. Les utilisateurs peuvent soumettre eux-mêmes des sites Web compatibles HSTS à la liste de préchargement s'ils répondent aux critères (simples) requis.

Qu est-ce que HSTS et comment protège-t-il HTTPS des pirates ?

Les sites Web ajoutés à cette liste seront codés en dur dans les futures versions des mises à jour de Chrome. Il garantit que tous ceux qui visitent vos sites Web compatibles HSTS dans les versions mises à jour de Chrome resteront en sécurité.

Firefox, Opera, Safari et Internet Explorer ont leur propre liste de préchargement HSTS, mais ils sont basés sur la liste Chrome sur hstspreload.org.

Comment activer le HSTS sur votre site Web

Pour activer HSTS sur votre site Web, vous devez d'abord disposer d'un certificat SSL valide. Si vous activez HSTS sans, votre site ne sera disponible pour aucun visiteur, alors assurez-vous que votre site Web et tous les sous-domaines fonctionnent sur HTTPS avant de continuer.

Activer HSTS est assez facile. Il vous suffit d'ajouter un en-tête au fichier .htaccess sur votre site. L'en-tête que vous devez ajouter est :

Strict-Transport-Security :max-age=31536000 ; includeSubDomains 

Cela ajoute un cookie d'accès d'un an maximum (qu'est-ce qu'un cookie ?), qui inclut votre site Web et tous les sous-domaines. Une fois qu'un navigateur a accédé au site Web, il ne pourra pas accéder à la version HTTP non sécurisée du site Web pendant un an. Assurez-vous que tous les sous-domaines de ce domaine sont inclus dans le certificat SSL et que HTTPS est activé. Si vous oubliez cela, les sous-domaines ne seront pas accessibles après avoir enregistré le fichier .htaccess.

Sites Web auxquels il manque les includeSubDomains L'option peut exposer les visiteurs à des fuites de confidentialité en permettant aux sous-domaines de manipuler les cookies. Avec includeSubDomains activé, ces attaques liées aux cookies ne seront pas possibles.

Remarque : Avant d'ajouter l'âge maximal d'un an, testez d'abord l'ensemble de votre site Web avec un âge maximal de cinq minutes en utilisant : max-age=300 ;

Google vous recommande même de tester votre site Web et ses performances (trafic) avec une valeur d'une semaine et d'un mois également avant de mettre en place un âge maximum de deux ans.

Cinq minutes : Strict-Transport-Security :max-age=300 ; inclure les sous-domaines 
Une semaine :Strict-Transport-Security :max-age=604800; inclure les sous-domaines
Un mois :Strict-Transport-Security :max-age=2592000; includeSubDomains

Création de la liste de préchargement HSTS

Vous devriez maintenant être familiarisé avec le HSTS et pourquoi il est important que votre site l'utilise. Assurer la sécurité des visiteurs de votre site Web en ligne devrait être un élément clé de votre plan de site.

Pour être éligible à la liste de préchargement HSTS utilisée par Chrome et d'autres navigateurs, votre site Web doit répondre aux exigences suivantes :

  1. Servir un certificat SSL valide.
  2. Rediriger de HTTP vers HTTPS sur le même hôte, si vous écoutez sur le port 80.
  3. Servir tous les sous-domaines sur HTTPS. En particulier, vous devez prendre en charge HTTPS pour le www.sous-domaine si un enregistrement DNS pour ce sous-domaine existe.
  4. Diffusez un en-tête HSTS sur le domaine de base pour les requêtes HTTPS :
    • L'âge maximum doit être d'au moins 31536000 secondes (1 an).
    • La directive includeSubDomains doit être spécifiée.
    • La directive de préchargement doit être spécifiée.
    • Si vous diffusez une redirection supplémentaire depuis votre site HTTPS, cette redirection doit toujours avoir l'en-tête HSTS (plutôt que la page vers laquelle elle redirige).

Si vous souhaitez ajouter votre site Web à la liste de préchargement HSTS, assurez-vous d'ajouter le préchargement requis étiqueter. L'option "précharger" signifie que vous souhaitez que votre site Web soit ajouté à la liste de préchargement HSTS de Chrome. L'en-tête de réponse dans .htaccess devrait alors ressembler à ceci :

Strict-Transport-Security :max-age=63072000 ; inclure les sous-domaines ; précharger 

Nous vous recommandons d'ajouter votre site Web à hstspreload.org. Les exigences sont assez faciles à remplir, et cela aidera à protéger les visiteurs de votre site Web et potentiellement à améliorer le classement de votre site Web dans les moteurs de recherche.


[]