Qu’est-ce que le HSTS ?

24 mai 2024

HTTP Strict Transport Security (HSTS) est un mécanisme de politique de sécurité qui aide à protéger les sites Web contre attaques de l'homme du milieu telles que les attaques par déclassement de protocole et le détournement de cookies. En imposant des connexions sécurisées, HSTS demande aux navigateurs d'interagir uniquement avec un site Web en utilisant une connexion HTTPS sécurisée, plutôt que HTTP.

qu'est-ce que la TVH

Qu’est-ce que le HSTS ?

HTTP Strict Transport Security (HSTS) est une politique de sécurité Web qui permet aux sites Web de se déclarer accessibles uniquement via des connexions HTTPS sécurisées. Lorsqu'un site Web implémente HSTS, il informe navigateurs qu'ils doivent utiliser exclusivement HTTPS pour communiquer avec le site, éliminant ainsi la possibilité d'utiliser le protocole HTTP moins sécurisé. Ceci est réalisé par le server envoyant un en-tête HSTS dans ses réponses HTTP, spécifiant une période pendant laquelle le navigateur doit appliquer cette politique.

HSTS aide à prévenir diverses attaques, y compris les attaques par déclassement de protocole, où un attaquant force un navigateur à utiliser HTTP au lieu de HTTPS, et le détournement de cookies, où les cookies sont interceptés sur des connexions non sécurisées.

En rendant HTTPS obligatoire, HSTS garantit que toutes les communications entre le navigateur de l'utilisateur et le site Web sont crypté et sécurisé, améliorant la posture de sécurité globale du application web.

Une brève histoire du HSTS

Le concept de HTTP Strict Transport Security (HSTS) est né du besoin croissant d'améliorer la sécurité du Web. Il a été proposé pour la première fois en 2009 par Jeff Hodges, Collin Jackson et Adam Barth. Leur travail s'est concentré sur l'atténuation des risques associés aux attaques de l'homme du milieu et aux attaques par déclassement de protocole qui exploitaient les vulnérabilités de HTTP. La version initiale a été soumise à l'Internet Engineering Task Force (IETF) en 2010, et après plusieurs révisions et commentaires de la communauté, elle est devenue une norme en 2012 avec la publication de la RFC 6797. Depuis lors, HSTS a été largement adopté par les principaux navigateurs Web. et les sites Web, devenant ainsi un outil crucial dans les efforts visant à sécuriser les communications Web.

Pourquoi le HSTS est-il important ?

HSTS est important car il améliore considérablement la sécurité des communications Web. En imposant l'utilisation du HTTPS, HSTS garantit que toutes les données échangées entre le navigateur d'un utilisateur et un site Web sont cryptées, les protégeant ainsi des écoutes clandestines et des falsifications. Ceci est crucial pour protéger les informations sensibles, telles que les identifiants de connexion, les données personnelles et les transactions financières, contre les acteurs malveillants.

HSTS empêche également les attaques par déclassement de protocole, où les attaquants incitent le navigateur à utiliser le HTTP moins sécurisé, ainsi que le détournement de cookies, où les cookies de session sont interceptés via une connexion non sécurisée.

Comment fonctionne le HSTS?

HTTP Strict Transport Security (HSTS) est un mécanisme qui garantit qu'un navigateur Web utilise toujours une connexion HTTPS sécurisée lors de la communication avec un site Web. Il fonctionne en permettant aux sites Web de se déclarer accessibles uniquement via HTTPS, empêchant ainsi diverses attaques associées au protocole HTTP moins sécurisé.

Lorsqu'un utilisateur visite pour la première fois un site Web prenant en charge HSTS, le server répond avec un en-tête HTTP spécial appelé Strict-Transport-Sécurité. Cet en-tête spécifie un max-age valeur, qui indique la période (en secondes) pendant laquelle le navigateur doit imposer des connexions HTTPS uniquement pour le site. L'en-tête peut également inclure un inclure des sous-domaines directive, indiquant que tous sous-domaines doit également être accessible via HTTPS.

Une fois que le navigateur reçoit cet en-tête, il enregistre et commence à appliquer la politique HSTS. Si l'utilisateur tente de visiter le site ou ses sous-domaines en utilisant HTTP pendant la période spécifiée max-age période, le navigateur convertit automatiquement la requête en HTTPS, garantissant une connexion sécurisée. Même si l'utilisateur tape manuellement "http://" dans la barre d'adresse du navigateur, le navigateur le remplacera par "https://" avant d'en faire la demande.

Si la politique HSTS inclut des sous-domaines, cette protection s'étend également à ceux-ci, sécurisant davantage l'intégralité du site. domaine structure. Ce mécanisme élimine efficacement les possibilités pour les attaquants d'intercepter ou de falsifier la connexion en exploitant les vulnérabilités HTTP.

Exigences HSTS

HTTP Strict Transport Security a plusieurs exigences qui doivent être remplies pour qu'il fonctionne correctement et sécurise efficacement les communications Web. Voici les principales exigences :

  • Implémentation HTTPS. Le site Web doit prendre en charge HTTPS et avoir un SSL / TLS certificat. HSTS ne peut pas être implémenté sur un site qui prend uniquement en charge HTTP, car l'objectif principal de HSTS est d'appliquer des connexions HTTPS sécurisées.
  • En-tête HSTSL’ server doit envoyer l'en-tête HSTS (Strict-Transport-Sécurité) dans ses réponses HTTPS. Cet en-tête comprend le max-age directive, qui spécifie combien de temps le navigateur doit se rappeler d'appliquer HTTPS pour le site. Un exemple d'en-tête HSTS est :
Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Directive sur l'âge maximumL’ max-age La directive est obligatoire et définit la durée en secondes pendant laquelle le navigateur doit appliquer HTTPS pour le site. Par exemple, âge-max = 31536000 fixe la politique pour un an.
  • Directive IncludeSubDomains. Cette directive facultative étend la politique HSTS à tous les sous-domaines du site. S'ils sont inclus, tous les sous-domaines doivent également prendre en charge HTTPS.
  • Préchargement (facultatif mais recommandé). Le préchargement implique la soumission du site à la liste de préchargement HSTS, une liste maintenue par les fournisseurs de navigateurs. Une fois qu'un site est préchargé, les navigateurs appliqueront HTTPS pour celui-ci et ses sous-domaines dès la première visite, avant même de recevoir l'en-tête HSTS. Pour pouvoir bénéficier du préchargement, le site doit diffuser un en-tête HSTS avec max-age d'au moins un an (31536000), inclure le inclure des sous-domaines directive, et inclure le pré-charge directive dans l’en-tête.
  • Pas de contenu mixte. Le site doit éviter le contenu mixte, ce qui se produit lorsque les pages HTTPS chargent des ressources (telles que des images, des scripts ou des feuilles de style) via HTTP. Le contenu mixte compromet la sécurité du HTTPS et peut amener les navigateurs à bloquer ces ressources ou à afficher des avertissements de sécurité.
  • Les redirections. Toutes les requêtes HTTP vers le site doivent être redirigées vers HTTPS avant que HSTS ne soit appliqué. Cela garantit que les utilisateurs qui visitent initialement le site via HTTP sont dirigés vers la version sécurisée.

Limites du HSST

HTTP Strict Transport Security (HSTS) est un mécanisme de sécurité puissant qui présente certaines limitations, notamment :

  • Connexion initiale non sécurisée. La toute première connexion à un site Web n'est pas protégée par HSTS, ce qui la rend vulnérable aux attaques de l'homme du milieu. Jusqu'à ce que le navigateur reçoive l'en-tête HSTS, la connexion peut s'effectuer via HTTP.
  • Risques de mauvaise configuration. Configuration incorrecte du HSTS, par exemple en définissant un très long max-age pour un site qui n'est pas prêt pour l'application complète du HTTPS, cela peut entraîner des problèmes. D'autres exemples de mauvaise configuration incluent HTTPS qui n'est pas entièrement implémenté ou des problèmes de contenu mixte. Si cela se produit, les utilisateurs rencontrent des fonctionnalités interrompues ou des problèmes d’accessibilité.
  • Couverture du sous-domaine. Si l' inclure des sous-domaines La directive n'est pas utilisée, les sous-domaines ne sont pas protégés par la politique HSTS. Cela peut les rendre vulnérables aux attaques, compromettant ainsi les avantages en matière de sécurité du HSTS.
  • Accessibilité du site. Si le certificat SSL/TLS d'un site expire ou est mal configuré, les utilisateurs ne pourront pas accéder au site jusqu'à ce que le problème soit résolu, car HSTS impose uniquement les connexions HTTPS.
  • Problèmes de cache. Une fois qu'un navigateur reçoit un en-tête HSTS, il appliquera HTTPS pour le site jusqu'à ce que le max-age le délai expire. Si un site ne souhaite plus utiliser HTTPS ou modifie sa configuration, les utilisateurs peuvent toujours être obligés d'utiliser HTTPS en raison des politiques HSTS mises en cache.
  • Navigateurs non pris en charge. Tous les navigateurs ne prennent pas en charge HSTS. Les utilisateurs disposant de navigateurs plus anciens ou moins courants qui ne reconnaissent pas l'en-tête HSTS ne bénéficieront pas de ses protections de sécurité.
  • Inconvénients du préchargement. Même si le préchargement améliore la sécurité, il s'agit d'un engagement. Une fois qu'un site est inclus dans la liste de préchargement HSTS, il ne peut pas être facilement supprimé et tout problème avec HTTPS sur le site entraîne des problèmes d'accès importants pour les utilisateurs.
  • Impact sur les performances. Forcer HTTPS introduit une légère surcharge de performances en raison du cryptage et Décryptage processus. Bien que généralement minime, cela peut être perceptible pour les sites Web à fort trafic ou pour les utilisateurs ayant des connexions plus lentes.

Compatibilité du navigateur HSTS

Le tableau suivant compare la compatibilité HSTS avec les navigateurs les plus couramment utilisés aujourd'hui.

NavigateurVersions prises en charge
Google Chrome4 et plus tard
Mozilla Firefox4 et plus tard
Microsoft Edge12 et plus tard
Apple Safari7 et plus tard
Opéra12 et plus tard
Internet ExplorerPas de support

Meilleures pratiques de déploiement HSTS

Le déploiement efficace de HTTP Strict Transport Security (HSTS) nécessite de suivre les meilleures pratiques pour garantir une sécurité robuste et minimiser les problèmes potentiels. Voici quelques bonnes pratiques pour le déploiement de HSTS :

  • Assurer une prise en charge HTTPS complète. Avant d'activer HSTS, assurez-vous que l'ensemble de votre site prend en charge HTTPS, y compris tous les sous-domaines et ressources. Le contenu mixte peut entraîner des problèmes lorsque HSTS est appliqué.
  • Configurez correctement SSL/TLS. Utilisez des configurations SSL/TLS solides pour éviter les vulnérabilités. Assurez-vous que vos certificats SSL/TLS sont valides, à jour et correctement installés.
  • Définir l'âge maximum approprié. Commencez par un court max-age valeur (par exemple, un jour) pour tester la mise en œuvre et garantir que tout fonctionne correctement. Augmentez progressivement le max-age à une durée plus longue (par exemple, un an) une fois que vous avez confiance dans la configuration.
  • Inclure les sous-domaines. Utilisez le inclure des sous-domaines directive pour garantir que tous les sous-domaines sont couverts par la politique HSTS, offrant une protection complète sur l’ensemble de votre domaine.
  • Utiliser le préchargement. Soumettez votre site à la liste de préchargement HSTS pour vous assurer que les navigateurs appliquent HSTS dès la première visite. Cela nécessite de définir un max-age d'au moins un an, y compris le inclure des sous-domaines directive, et en ajoutant le pré-charge directive à votre en-tête HSTS.
  • Rediriger HTTP vers HTTPS. Installer server-side redirige de HTTP vers HTTPS. Cela garantit que les utilisateurs qui accèdent initialement à votre site via HTTP sont redirigés vers la version sécurisée.
  • Surveiller et tester. Surveillez régulièrement votre site pour détecter les problèmes SSL/TLS, le contenu mixte et d'autres problèmes potentiels. Utilisez des outils tels que SSL Test de SSL Labs pour vérifier votre configuration et vous assurer qu'elle répond aux meilleures pratiques.
  • Mettre à jour les politiques de sécurité. Gardez vos politiques et configurations de sécurité, y compris HSTS, régulièrement mises à jour avec les dernières recommandations et pratiques.
  • Informer les utilisateurs et les parties prenantes. Communiquez les changements à vos utilisateurs et parties prenantes, en expliquant les avantages et les impacts potentiels de la mise en œuvre du HSTS. Cela permet de gérer les attentes et garantit que tout problème est rapidement signalé et résolu.
  • Se préparer aux urgences. Ayez un plan en place pour gérer les urgences, telles que l’expiration du certificat ou les erreurs de configuration. Vous devriez pouvoir supprimer votre site de la liste de préchargement HSTS si nécessaire, bien que ce processus puisse prendre du temps en raison des cycles de mise à jour du navigateur.

Anastasie
Spasojevic
Anastazija est une rédactrice de contenu expérimentée avec des connaissances et une passion pour cloud l'informatique, les technologies de l'information et la sécurité en ligne. À phoenixNAP, elle se concentre sur la réponse à des questions brûlantes concernant la garantie de la robustesse et de la sécurité des données pour tous les acteurs du paysage numérique.