HTTP Strict Transport Security (HSTS)
Qu'est-ce que HTTP Strict Transport Security (HSTS) ?
HTTP Strict Transport Security (HSTS)Politique de sécurité web diffusée via un en-tête HTTP qui ordonne au navigateur d'accéder à un domaine uniquement en HTTPS pendant une durée déclarée.
HSTS, défini par le RFC 6797, est signalé par l'en-tête de réponse Strict-Transport-Security. Lorsqu'un navigateur compatible reçoit cet en-tête en HTTPS, il mémorise la politique pendant le max-age déclaré et met automatiquement à niveau toute requête future vers cet hôte (et, en option, ses sous-domaines) vers HTTPS, refusant la connexion si le handshake TLS ou la validation du certificat échoue. Cela neutralise les attaques SSL stripping (le sslstrip de Moxie Marlinspike en 2009) et l'injection de cookies en clair.
HSTS a une faiblesse structurelle : la confiance à la première utilisation (trust-on-first-use). Avant que le navigateur n'ait vu l'en-tête pour la première fois, cette toute première requête peut encore être interceptée et rétrogradée. La liste de préchargement — un ensemble codé en dur dans Chromium, Firefox, Safari et Edge — comble cette lacune en livrant la politique avec le navigateur, forçant HTTPS dès la première visite. La soumission exige un max-age d'au moins 31536000 (un an), includeSubDomains et la directive preload, via hstspreload.org. Google Registry a préchargé des gTLD entiers comme .dev et .app, si bien que tout domaine sous ces extensions est HTTPS uniquement par défaut. Attention : le retrait de la liste de préchargement se propage lentement, ne préchargez donc que si vous pouvez vous engager durablement sur le tout-HTTPS.
flowchart TD
A[Navigateur : premiere visite] -->|pas encore de politique| B{Sur la liste preload ?}
B -->|oui| C[Forcer HTTPS immediatement]
B -->|non| D[Requete en clair possible - risque TOFU]
D --> E[Le serveur envoie l'en-tete Strict-Transport-Security]
E --> F[Le navigateur met la politique en cache pour max-age]
F --> G[Toutes les requetes futures sont mises a niveau en HTTPS]
G -->|certificat invalide| H[Echec strict, aucune exception possible]● Exemples
- 01
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
- 02
Une banque inscrit son domaine apex à la liste de préchargement HSTS de Chromium.
● Questions fréquentes
Qu'est-ce que HTTP Strict Transport Security (HSTS) ?
Politique de sécurité web diffusée via un en-tête HTTP qui ordonne au navigateur d'accéder à un domaine uniquement en HTTPS pendant une durée déclarée. Cette notion relève de la catégorie Sécurité réseau en cybersécurité.
Que signifie HTTP Strict Transport Security (HSTS) ?
Politique de sécurité web diffusée via un en-tête HTTP qui ordonne au navigateur d'accéder à un domaine uniquement en HTTPS pendant une durée déclarée.
Comment se défendre contre HTTP Strict Transport Security (HSTS) ?
Les défenses contre HTTP Strict Transport Security (HSTS) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de HTTP Strict Transport Security (HSTS) ?
Noms alternatifs courants : Strict-Transport-Security, En-tête HSTS.