Qu'est-ce que HSTS ?
Retour à sslHTTP Strict Transport Security, abrégé HSTS, est une politique de sécurité qui impose une connexion via HTTPS.
Dans ce cas, il est bien sûr important qu'un certificat SSL valide / actif soit présent.
Sans certificat SSL valide en combinaison avec HSTS, le site web ne peut pas être chargé.
À ce moment-là, il n'y a pas non plus d'option pour ignorer le message d'erreur, alors que cette option est présente lorsque l'on n'utilise pas HSTS.
Vulnérabilité du HSTS
En tant qu'administrateur de site web, vous avez la possibilité de choisir si le trafic doit passer par HTTP ou HTTPS.
Par défaut, il passe par HTTP. Vous pouvez installer un certificat SSL et rediriger le trafic du site web vers HTTPS, par exemple via .htaccess ou en cochant une case dans votre panneau de contrôle.
Cependant, HSTS n'est pas infaillible, la première requête passera toujours d'abord par HTTP, de sorte que lors de la première requête, un pirate peut toujours prendre l'avantage et effectuer une attaque de type "man in the middle" (homme du milieu).
Notez que HSTS ne peut être activé qu'en présence d'une
Attaque de l'homme du milieu
Comme indiqué, la première requête est toujours via HTTP et un pirate peut donc effectuer une attaque de l'homme du milieu (MITM).
Une attaque de l'homme du milieu permet à un pirate d'intercepter et éventuellement de modifier la communication entre le visiteur et le serveur.
Toutes les informations que vous entrez alors peuvent être consultées et éventuellement modifiées par le pirate.
Un pirate peut aussi, par exemple, placer un cookie (petit fichier) sur votre ordinateur qui amène votre navigateur web à vous rediriger vers un autre site web.
Le pirate peut alors vous rediriger vers un site web qui ressemble à un site officiel mais qui n'en est pas un, comme le site web d'une banque.
Cela permet au pirate d'accéder à vos données et de les utiliser à mauvais escient.
Lorsque HSTS est actif, ce risque diminue, en particulier lorsque vous utilisez la fonction de préchargement...
Pour plus d'informations sur l'attaque de l'homme du milieu, consultez Wikipedia.
Définition d'une période avec HSTS
Avec HSTS, vous devez définir une période au cours de laquelle vous demandez au client (navigateur web) d'utiliser HTTPS pendant la période spécifiée.
La période standard est d'un an, mais il est également possible de fixer une période plus longue ou plus courte.
Veillez à définir cette période de manière appropriée, afin que vos visiteurs ne soient pas gênés par cette situation pendant des mois ou des années.
Si vous découvrez inopinément que le HSTS ne fonctionne pas, alors que vous l'avez activé pour un an, tous vos visiteurs seront gênés par ce paramètre pendant un an, à moins qu'ils ne le désactivent manuellement dans les paramètres de leur navigateur.
Sous-domaines et HSTS
Dans certains cas, vous pouvez avoir des sous-domaines sur différents serveurs.
HSTS n'en tient pas compte et exige donc un certificat SSL valide sur ces serveurs également.
Un mauvais réglage de HSTS peut donc immédiatement entraîner l'arrêt d'une grande partie de votre site web.
Il est donc très important de faire preuve de prudence.
Une chose à laquelle vous devez réfléchir attentivement est de savoir si vous souhaitez également doter tous vos sous-domaines d'un système HSTS.
Si vous souhaitez inclure les sous-domaines, vous pouvez généralement le sélectionner dans le panneau de contrôle ou le spécifier dans le code.
Quels sont les avantages de HSTS ?
- Le principal avantage de HSTS est qu'il améliore la sécurité. Il empêche l'attaque de l'homme du milieu si vous le configurez correctement et, en outre, vous êtes mieux préparé pour l'avenir.
- Dès qu'un en-tête HSTS est actif, le site web se charge plus rapidement car la redirection de HTTP vers HTTPS n'a plus lieu.
Les moteurs de recherche classeront donc également les sites plus haut dans les résultats lorsque HSTS est utilisé.
Quels sont les inconvénients de HSTS ?
- L'un des inconvénients est que vous devez toujours disposer d'un certificat SSL valide (en soi, bien sûr, cela devrait être la norme et n'est pas vraiment un inconvénient).
- Si vous activez HSTS via le domaine principal et spécifiez qu'il doit également fournir HSTS aux sous-domaines, tous vos sous-domaines doivent disposer d'un certificat SSL valide.
- Une mauvaise configuration peut entraîner l'indisponibilité de votre (vos) site(s) web pendant une période prolongée.
-
HSTS n'est pas (encore) infaillible. De nos jours, lorsque le site web est visité pour la première fois, cela se fait toujours via HTTP, de sorte qu'un pirate peut utiliser certains outils pour supprimer l'en-tête HSTS,
Pour mieux contrer cela, vous pouvez utiliser la liste de préchargement.
Liste de préchargement HSTS
De nombreux navigateurs web utilisent une liste de préchargement HSTS.
Il s'agit d'une liste de noms de domaine qui ne peuvent être approchés que par HTTPS.
Une fois que vous avez spécifié que HSTS doit être chargé via un préchargement, vous bénéficiez d'une sécurité accrue, car HSTS est déjà chargé avant le chargement de votre site web.
De cette manière, votre site est chargé directement via HTTPS.
Vous pouvez ajouter votre site à la liste de préchargement via https://hstspreload.org.
Vous devez toutefois respecter certaines conditions :
- Votre nom de domaine doit évidemment disposer d'un certificat SSL valide.
- Toutes les requêtes sur le port http (port 80) doivent être redirigées vers le site https:// sur le même domaine. Par exemple, http:// examplesitepuntnl doit rediriger vers https:// examplesitepuntnl et ne doit pas rediriger vers https:// wwwpunt examplesitepuntnl
- La fonction HSTS que vous utilisez doit utiliser la fonction include:subdomains.
- Le max-age (période) doit être d'au moins 18 semaines.
- Vous devez utiliser la fonction preload.
Comment activer HSTS ?
L'explication sur l'activation de HSTS se trouve dans l'article : Comment activer HSTS?
Comment puis-je supprimer HSTS lorsqu'un en-tête HSTS est actif ?
Cela varie en fonction du navigateur web.
Chrome :
Tapez ce qui suit dans votre barre d'adresse : chrome://net-internals/#hsts
Plusieurs options s'offrent à vous, notamment l'interrogation du HSTS et sa suppression/son oubli.
Courageux :
Tapez ce qui suit dans votre barre d'adresse : brave://net-internals/#hstsVous disposez de plusieurs options, dont l'interrogation du HSTS et la suppression/oubli du HSTS.
Firefox : Ouvrez Firefox et utilisezShift+ CTRL+ H (ou Cmd + Shift + H sur Mac)
Trouvez le site web pour lequel vous souhaitez supprimer le HSTS.
Cliquez dessus avec le bouton droit de la souris et cliquez sur "Oublier ce site" ou "Oublier ce site web".
Notez que cette opération supprime également les mots de passe enregistrés.