Implémenter HSTS sur votre hébergement One2Net
HSTS c’est quoi ?
HSTS (acronyme de HTTP Strict Transport Security) est un protocole complémentaire du SSL qui permet de renforcer la sécurité des sites web en indiquant aux navigateurs web de toujours accéder à la version HTTPS d’un site.
HSTS (HTTP Strict Transport Security) est un en-tête HTTP qui permet aux sites web de signaler aux navigateurs qu’ils ne doivent pas communiquer avec eux en utilisant le protocole HTTP non sécurisé, mais uniquement en utilisant HTTPS. Par exemple, imaginons que vous souhaitiez accéder au site web de votre banque en tapant son nom de domaine dans votre navigateur. Si le site web de votre banque utilise HSTS, lorsque vous tapez son nom de domaine, votre navigateur vérifie si un en-tête HSTS est présent dans la réponse du serveur de la banque. Si cet en-tête est présent, votre navigateur se connecte automatiquement en utilisant HTTPS pour établir une connexion sécurisée avec le serveur de la banque. Si le site web de la banque ne supporte pas HTTPS ou si l’en-tête HSTS n’est pas présent, votre navigateur vous avertit que la connexion n’est pas sécurisée et vous empêche d’accéder au site web.
En résumé, HSTS permet aux sites web de forcer les navigateurs à utiliser HTTPS pour établir des connexions sécurisées, ce qui peut protéger les utilisateurs contre les attaques de type man-in-the-middle et autres formes de surveillance ou de modification de données en transit.
Dois-je activer HSTS si mon site est déjà en SSL ?
L’activation du HSTS est une bonne pratique. Ce n’est pas une obligation.
Lorsqu’un certificat SSL est activé pour votre hébergement web, les URLs de votre site deviennent accessibles à la fois en HTTP et en HTTPS. Pour cette raison, il est d’usage de mettre en place une redirection des URL en HTTP vers leurs équivalents en HTTPS.
Cette solution de redirection fonctionne parfaitement pour des usages classiques, mais elle ne permet pas de déjouer certains accès malveillants ayant pour but d’accéder à des contenus de votre site en HTTP (non-SSL).
Le HSTS apporte une couche de sécurité supplémentaire en donnant instruction au navigateur de l’internaute de toujours forcer l’accès au site en HTTPS.
Si votre site internet propose des contenus hybrides en HTTP et HTTPS, vous ne devez pas activer HSTS. En effet, si votre site propose des contenus qui ne sont pas accessibles en SSL, les internautes seront confrontés à une erreur une fois HSTS mis en oeuvre.
Comment activer HSTS pour mon site web ?
Pour éviter des effets de bords non souhaités et difficilement identifiables, le protocole HSTS n’est pas activé par défaut lorsqu’un certificat SSL est mis à disposition sur votre hébergement. Vous pouvez l’activer simplement à partir de votre espace client.
Pour pouvoir bénéficier du HSTS, vous devez :
- disposer d’un certificat SSL actif sur votre hébergement web
- activer ou vérifier l’activation de HSTS dans la section Certificat SSL/TLS de votre espace client
Comment fonctionne le HSTS activé par One2Net ?
Une fois HSTS activé au sein de votre espace client, nos serveurs vont renvoyer l’entête ci-dessous à chaque appel d’une URL HTTPS de votre site :
Header always set Strict-Transport-Security « max-age=31536000 »
Cet entête indique au navigateur de toujours forcer l’accès en HTTPS même si une URL de votre site est appelée en HTTP, et ce, pour une période de 1 année (renouvelable automatiquement).
Une bonne pratique de la mise en œuvre de SSL/HSTS consiste à rediriger au préalable systématiquement les URL accessibles HTTP vers leur équivalent HTTPS.
Pour assurer une flexibilité optimale dans différentes configurations clients, nous n’utilisons pas les directives suivantes :
includeSubDomains
preload
Comment désactiver HSTS sur mon site ?
Vous pouvez choisir de ne plus utiliser HSTS. Vous devez au préalable désactiver HSTS dans votre espace client One2Net.
Vous devez ensuite modifier ou créer un fichier .htaccess à la racine de votre site et des éventuels sous domaines concernés avec le contenu ci-dessous placé au tout début du fichier :
<If « %{HTTPS} == ‘on' »>
Header always set Strict-Transport-Security « max-age=0 »
</if>
Cet entête a pour effet de vider « le cache » des navigateurs pour ne plus prendre en compte HSTS.
Comment activer HSTS manuellement ?
Vous pouvez choisir de ne pas utiliser l’activation automatique de HSTS proposé par One2Net et de l’activer manuellement sur votre site ou un sous-domaine spécifique.
Assurez-vous de disposer d’un certificat SSL actif sur le domaine et/ou le sous-domaine sur lequel vous souhaitez activer manuellement HSTS.
Vous devez ensuite modifier ou créer un fichier .htaccess à la racine de votre site et des éventuels sous-domaines concernés avec le contenu suivant placé au tout début du fichier :
<If « %{HTTPS} == ‘on' »>
Header always set Strict-Transport-Security « max-age=31536000 »
</if>
Configuration manuelle si vous souhaitez HSTS en preload
Les informations ci-dessous sont communiquées à titre d’information. Nous ne fournissons aucun support si vous faites le choix de cette configuration. Nous ne fournissons aucune assistance pour supprimer un site de la liste preload.
Vous devez au préalable modifier ou créer un fichier .htaccess à la racine de votre site avec le contenu suivant placé au tout début du fichier :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule><If « %{HTTPS} == ‘on' »>
Header always set Strict-Transport-Security « max-age=31536000; includeSubDomains; preload »
</if>
Vous devez ensuite vous rendre sur le site « HSTS Preload List Submission » disponible à https://hstspreload.org/ pour vérifier la configuration de votre site et déclarer votre domaine.