Vous avez activé SSL sur votre site web et observez le cadenas vert dans le navigateur ? N'oubliez pas HTTP Strict Transport Security (HSTS), un en-tête essentiel pour renforcer la sécurité.
Qu'est-ce que le HSTS et comment sécurise-t-il votre site ?

HTTPS (HyperText Transfer Protocol Secure) est la version sécurisée de HTTP. Il utilise le protocole TLS (successeur de SSL) et un certificat valide pour chiffrer les données échangées entre le site et l'utilisateur.
Ce chiffrement protège contre les attaques de type « man-in-the-middle » (MITM) et le vol de données. De plus, HTTPS améliore légèrement la réputation et le référencement de votre site. La plupart des hébergeurs offrent des certificats SSL gratuits par défaut. Cependant, HTTPS seul présente des vulnérabilités que HSTS corrige efficacement.
HSTS est un en-tête de réponse HTTP qui indique au navigateur que le site ne doit être accessible qu'en HTTPS. Il force l'utilisation exclusive de la version sécurisée, y compris pour toutes les ressources.
Même avec un certificat SSL valide et des redirections 301, la version HTTP reste accessible. Déployé officiellement par Google en juillet 2016, HSTS prévient les attaques de dégradation de protocole SSL et le vol de cookies. Il sécurise le site et accélère le chargement en supprimant les négociations HTTP inutiles.
HTTPS n'est pas infaillible. Le SSL stripping est une attaque MITM courante exploitant les redirections HTTP vers HTTPS.
Les redirections 301/302 fonctionnent ainsi :
L'attaquant intercepte entre les étapes 3 et 4, bloque la redirection et expose une version non chiffrée, volable. Il peut même créer un site phishing.
Chrome a renforcé ses protections, mais activer HSTS est indispensable pour tous les sites.
HSTS force le navigateur à ignorer les connexions HTTP et redirections, fermant cette faille.
Inconvénient : le navigateur doit recevoir l'en-tête HSTS une première fois, exposant potentiellement la visite initiale. Chrome (et autres navigateurs comme Firefox, Opera, Safari) précharge une liste de sites HSTS via hstspreload.org.

Cette liste intègre les sites directement dans les mises à jour, protégeant dès la première visite.
Prérequis : certificat TLS/SSL valide sur le site et tous les sous-domaines.
Ajoutez cet en-tête dans votre fichier .htaccess :
Strict-Transport-Security: max-age=31536000; includeSubDomainsDurée d'un an (31536000 secondes), incluant les sous-domaines. Testez d'abord avec max-age=300 (5 minutes), puis 1 semaine (604800) et 1 mois (2592000).
5 minutes : Strict-Transport-Security: max-age=300; includeSubDomains
1 semaine : Strict-Transport-Security: max-age=604800; includeSubDomains
1 mois : Strict-Transport-Security: max-age=2592000; includeSubDomainsSans includeSubDomains, les sous-domaines risquent des fuites de cookies.
Pour une protection maximale, respectez ces critères :
Ajoutez ; preload :
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadSoumets sur hstspreload.org pour une sécurité accrue et un meilleur SEO.