1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Gérer HSTS d'un site Web/hébergement
Ce guide explique comment désactiver ou paramétrer HSTS pour un site Web.
Préambule
- lorsque HSTS est activé pour un site Web, le serveur indique au visiteur du site (si son navigateur Web est compatible) de remplacer tous les liens non sécurisés par des liens sécurisés
- exemple:
http://www.exemple.com/une/page/
est automatiquement remplacé parhttps://www.exemple.com/une/page/
- après avoir activé un certificat SSL sur un site Web, le HSTS est configuré comme suit:
max-age=16000000
DĂ©sactiver HSTS
1. avec un CMS (WordPress, Joomla, etc.)
Inclure dans toutes les pages générées par le CMS la ligne suivante:
header( 'Strict-Transport-Security: max-age=0;' );
Pour WordPress, il est p.ex possible d'ajouter cette directive dans le fichier functions.php
de votre thème:
add_action( 'send_headers', 'add_header_xua' );
function add_header_xua() {
header( 'Strict-Transport-Security: max-age=0;' );
}
Plus de détails sur WordPress
2. avec un site PHP
Inclure la ligne suivante dans toutes les pages php:
header( 'Strict-Transport-Security: max-age=0;' );
Pour faire cela sans devoir modifier chaque page php d'un site, il est possible d'utiliser la directive auto_prepend_file
dans le fichier .user.ini
du site concerné:
auto_prepend_file=/home/clients/xxxx/web/hsts_disable.php
... avec le fichier hsts_disable.php
suivant:
header( 'Strict-Transport-Security: max-age=0;' );
3. avec un site au contenu statique (non PHP)
Inclure ce header dans un fichier .htaccess
:
# BEGIN DISABLE HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=0; includeSubDomains;"
</IfModule>
# END DISABLE HSTS
Personnaliser le HSTS
La valeur par défaut peut être modifiée dans vos fichiers php de votre site Web avec la directive suivante:
header( 'Strict-Transport-Security: max-age=X; includeSubdomains; preload' );
(X étant le nombre de secondes souhaité)
Activer HSTS pour tous les sous domaines hébergés
includeSubDomains;
est activé par défaut et comme son nom l'indique il va inclure les sous-domaines dans les "Strict Transport Security".
Lorsque le visiteur va un sous-domaine non sécurisé, le navigateur redirigera vers le HTTPS automatiquement et provoquera une erreur de sécurité.
Si ce comportement n'est pas désiré, il faut enlever cet en-tête.
Effacer le cache HSTS du navigateur
Pour cela:
- dans Chrome, taper chrome://net-internals/#hsts
- entrer le nom de domaine dans le champ texte de la section "Delete domain security policies"
- cliquer sur le bouton Delete
- entrer le nom de domaine dans le champ texte de la section "Query HSTS"
- cliquer sur le bouton Query
- la réponse doit être "Not found" (non trouvé)
- avec Safari, commencer par fermer le navigateur
- effacer le fichier ~/Library/Cookies/HSTS.plist
- rouvrir Safari
- avec Firefox, fermez tous les onglets
- ouvrir le menu de Firefox et cliquer sur Historique / Afficher l’historique.
- rechercher la page dont vous voulez supprimer les préférences HSTS
- effectuer un clic droit sur une des entrées lui correspondant
- choisir Oublier ce site