Forcer HTTPS avec Strict Transport Security (HSTS)
Certains sites sont conçus pour fonctionner uniquement en mode HTTPS. Dans ce cas, le webmaster laisse parfois le site fonctionnel en HTTP avec une redirection vers HTTPS. Mais ce mécanisme n'est pas sur, il peut être victime d'une attaque MITM.
Pour éviter cela, il est possible d'indiquer aux navigateurs qu'un site doit obligatoirement être contacté en HTTPS. Dans ce cas le navigateur transforme tout seul une URL http:// en https://
C'est ce que permet la recommandation préliminaire HTTP Strict Transport Security (HSTS) qui est implémentée dans Chrome et Firefox 4. Le fonctionnement est simple: lors d'une connexion HTTPS, le serveur retourne une entête Strict-Transport-Security indiquant qu'il faut forcer https, et pendant combien de temps. Il suffit de configurer votre serveur web favori pour renvoyer cette entête, et voilà tous vos utilisateurs automatiquement protégés et utilisant https.
Vous trouvez la documentation pour la plupart des serveurs sur http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Pour Apache, il suffit de :
# charger le module mod_headers.so si ce n'est pas déjà fait LoadModule headers_module modules/mod_headers.so # forcer les connexions en https pendant 1 jour Header set Strict-Transport-Security "max-age=86400"


