Qu'est-ce que le HSTS et comment l'activer ? (HTTP Strict Transport Security)
Le HSTS (HTTP Strict Transport Security) est un en-tête de sécurité qui indique au navigateur "connecte-toi à moi uniquement en HTTPS". Utilisé avec une redirection 301, il empêche même la première requête http:// vers votre site d'être interceptée (SSL stripping).
Pourquoi le HSTS est-il nécessaire ?
Avec une simple redirection 301, le navigateur du visiteur atteint d'abord le site en http:// puis est redirigé vers HTTPS. Cette brève première requête est une fenêtre ouverte pour un attaquant sur le réseau. Avec le HSTS activé, le navigateur convertit la requête directement en HTTPS sans même l'envoyer, même si http est saisi dans la barre d'adresse.
Anatomie de l'en-tête
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload- max-age — combien de secondes le navigateur mémorise cette règle (31536000 = 1 an).
- includeSubDomains — applique la règle à tous les sous-domaines.
- preload — une demande d'ajout de votre site à la liste "HTTPS uniquement" intégrée aux navigateurs (voir l'avertissement ci-dessous).
Activation sous Nginx
Ajoutez-le à votre bloc server HTTPS :
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;Activation sous Apache
Avec mod_headers activé, dans l'hôte virtuel ou le .htaccess :
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"Points de vigilance
- Assurez-vous d'abord que le HTTPS fonctionne entièrement. Avec le HSTS actif, l'accès en HTTP est totalement bloqué côté navigateur ; si votre certificat est défectueux, les visiteurs ne peuvent pas accéder au site.
- Commencez avec un max-age faible. Au premier essai, utilisez
max-age=300(5 minutes) puis, une fois tout vérifié, passez à 1 an. - Ne précipitez pas le preload. Entrer dans la liste de preload est permanent et en sortir prend des semaines ; ne l'ajoutez pas tant que vous n'êtes pas certain que tous vos sous-domaines resteront en HTTPS de façon permanente.
Résumé
Le HSTS rend votre HTTPS obligatoire avec un en-tête d'une ligne et comble la faille de la première requête. Assurez-vous d'abord que votre certificat fonctionne sans faute ; si vous n'en avez pas, créez-en un avec notre assistant SSL gratuit, puis activez le HSTS avec un max-age faible.