Sécuriser votre site web avec HSTS : guide complet pour Apache
HSTS (HTTP Strict Transport Security) est un mécanisme de sécurité essentiel qui force les navigateurs à utiliser exclusivement HTTPS, supprimant définitivement les connexions non chiffrées. La sécurité web ne se limite pas à installer un certificat SSL. Sans configuration adaptée, un site HTTPS peut rester vulnérable à des attaques de type Man-in-the-Middle.
HSTS est comme un socle incontournable d’une stratégie de cybersécurité moderne et de souveraineté numérique, au même titre que le chiffrement, le durcissement serveur et la maîtrise des données.
Pourquoi HSTS est indispensable
Sans HSTS, même un site correctement configuré en HTTPS reste vulnérable lors de la toute première requête HTTP. Un attaquant positionné sur un réseau Wi-Fi public ou compromis peut intercepter cette requête avant la redirection HTTPS et injecter du contenu malveillant ou une page de phishing.
HSTS change radicalement ce comportement. Lors de la première visite HTTPS, le serveur envoie un en-tête de sécurité indiquant au navigateur que toutes les connexions futures doivent impérativement utiliser HTTPS, pour une durée définie. Dès lors, toute tentative d’accès en HTTP est automatiquement bloquée côté navigateur, sans jamais passer par le réseau.
Résultat : l’attaque devient impossible, car la connexion est chiffrée dès le départ.
Prérequis techniques avant d’activer HSTS
Avant toute chose, votre site doit être intégralement accessible en HTTPS, sans contenu mixte, avec un certificat SSL valide et reconnu.
Sur Apache, le module mod_headers doit être activé afin de pouvoir envoyer les en-têtes de sécurité HTTP.
apache2ctl -M | grep headers
sudo a2enmod headers
sudo systemctl restart apache2
apache2ctl configtest
Cette étape est fondamentale : une mauvaise configuration HSTS peut rendre un site inaccessible pendant toute la durée du max-age.
Déployer HSTS de manière progressive et sécurisée
La bonne pratique consiste à activer HSTS par étapes, afin de limiter les risques.
Phase de test
On commence par une durée courte, par exemple une heure, afin de valider le bon comportement sur l’ensemble des navigateurs.
Header always set Strict-Transport-Security "max-age=3600"
Cette phase permet de vérifier que le header est bien transmis, que les redirections HTTP vers HTTPS fonctionnent correctement et qu’aucune erreur serveur n’est introduite.
Phase de consolidation
Une fois les tests validés, on augmente progressivement la durée à 30 jours et on étend la protection aux sous-domaines.
Header always set Strict-Transport-Security "max-age=2592000; includeSubDomains"
Cette étape est idéale pour un environnement de production en cours de stabilisation.
Phase de production
Lorsque le site est parfaitement stable, on peut activer HSTS sur une durée d’un an et renforcer la sécurité avec des en-têtes complémentaires.
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Content-Type-Options nosniff
Header always set X-Frame-Options DENY
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
</IfModule>
À ce stade, le site bénéficie d’un niveau de sécurité élevé, conforme aux bonnes pratiques actuelles.
Vérifier la configuration avec SSL Labs
Une fois HSTS activé, il est indispensable de valider la configuration SSL globale à l’aide d’un outil de référence.
SSL Labs (Qualys) permet d’analyser en profondeur :
- la qualité du certificat SSL,
- les protocoles TLS activés,
- les suites cryptographiques,
- la présence et la configuration de HSTS,
- la résistance aux attaques connues.
L’objectif est d’obtenir un score A ou A+, garantissant un niveau de sécurité élevé et une forte confiance côté utilisateurs et navigateurs.
Une configuration HSTS correcte améliore significativement le score SSL Labs et renforce la crédibilité de votre site, notamment dans des contextes sensibles (e-commerce, services numériques, données personnelles).
Aller plus loin avec le preload HSTS
Pour un niveau de sécurité maximal, il est possible d’inscrire son domaine dans la liste HSTS preload intégrée directement aux navigateurs (Chrome, Firefox, Edge, Safari).
Cela garantit que même les nouveaux visiteurs seront forcés en HTTPS dès la première requête, sans aucun risque d’interception.
Cette étape est puissante mais engageante : elle est quasi irréversible pendant au moins un an. Elle ne doit être envisagée qu’après plusieurs semaines de fonctionnement stable avec HSTS activé.
Résultats attendus
Une fois HSTS correctement déployé et validé :
- les attaques MITM sont neutralisées,
- la surface d’attaque du site est fortement réduite,
- la confiance des utilisateurs est renforcée,
- le score SSL Labs atteint A ou A+,
- la sécurité devient un avantage concurrentiel.
Conclusion
HSTS n’est pas une option, c’est une brique essentielle d’une architecture web sécurisée.
Déployé progressivement et contrôlé avec des outils comme SSL Labs, il transforme HTTPS en une garantie réelle et durable.
Nous accompagnons nos clients dans la mise en œuvre de ces mécanismes de sécurité, avec une approche pragmatique, maîtrisée et orientée impact, afin que la cybersécurité reste un levier de confiance et non une contrainte, parlons-en.





