Accueil

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

Added 2018-11-19


Vous avez peut-être vérifié 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 aider à protéger votre site?

Qu'est-ce que HTTPS?

HTTPS s'appuie sur HSTS

Le protocole HTTPS (Hyper Text Transfer Protocol Secure) est une version sécurisée d'un site Web (HTTP). Le cryptage est activé à l'aide du protocole SSL (Secure Sockets Layer) 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.

Qu'est-ce que la TVH?

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 force votre navigateur à ne pouvoir accéder qu'à la version HTTPS du site Web et à toutes les ressources qui s'y trouvent.

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 stratégie HSTS soit en vigueur depuis quelque temps déjà, elle n’a été officiellement mise en place que par Google en juillet 2016. C’est peut-être pour cette raison que vous n’en avez pas beaucoup entendu parler.

Qu'est-ce que SSL Stripping?

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

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

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

Avec la suppression de SSL, le pirate informatique peut utiliser le délai 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. Lorsque vous accédez ensuite à une version non chiffrée du site Web, toutes les données que vous entrez peuvent être volées.

Le pirate informatique 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 vous semblez sécurisé.

Google a implémenté des étapes dans Chrome pour arrêter certains types de redirection. Cependant, l'activation de HSTS devrait être quelque chose que vous ferez par défaut pour tous vos sites Web à partir de maintenant.

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

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 les redirections 301 et 302.

Même le système HSTS présente un aspect négatif, à savoir que le navigateur d’un utilisateur doit voir l’en-tête du système HSTS au moins une fois avant de pouvoir en tirer parti pour de futures visites. Cela signifie qu'ils devront passer par HTTP>  HTTPS est traité au moins une fois, ce qui les rend vulnérables la première fois qu’ils visitent un site Web compatible HSTS.

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

Contrôle de précharge HSTS

Les sites Web ajoutés à cette liste seront codés en dur dans les futures versions des mises à jour de Chrome. Il garantit que toutes les personnes visitant des sites Web activés HSTS dans des 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 la TVH sur votre site Web

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


Sécurité de transport strict: max-age = 31536000; includeSubDomains

Sites Web qui manquent le includeSubDomains Cette option peut exposer les visiteurs à des fuites en matière de confidentialité en permettant aux sous-domaines de manipuler les cookies. Avec includeSubDomains  activées, ces attaques liées aux cookies ne seront plus possibles.

Remarque: Avant d’ajouter l’âge maximal d’un an, testez d’abord votre site Web dans un délai 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 correspondant à une semaine et à un mois avant de mettre en place une durée maximale de deux ans.


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

Faire la liste de préchargement HSTS

Vous devez maintenant connaître HSTS et comprendre pourquoi il est important que votre site l’utilise. Assurer la sécurité en ligne des visiteurs de votre site Web devrait être un élément clé de votre plan de site.

Pour pouvoir bénéficier de 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. Redirige 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 www.subdomain  si un enregistrement DNS pour ce sous-domaine existe.
  4. Servez un en-tête HSTS sur le domaine de base pour les demandes 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écharge doit être spécifiée.
    • Si vous diffusez une redirection supplémentaire à partir de votre site HTTPS, cette redirection doit toujours avoir l'en-tête HSTS (plutôt que la page vers laquelle il redirige).

Si vous souhaitez ajouter votre site Web à la liste de préchargement HSTS, veillez à ajouter les informations requises. précharge  étiquette. L'option "préchargement" signifie que vous souhaitez que votre site Web soit ajouté à la liste de préchargement HSTS de Chrome. L'en-tête de la réponse dans .htaccess devrait alors ressembler à ceci:


Strict-Transport-Security: max-age = 63072000; includeSubDomains; précharge






Nuage de tags

Choix de L'éditeur


Thomas Becket

Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
Gadgets technologiques et critiques 2019