Le HSTS, must have pour un site en HTTPS ?

A mesure que nombre de sites web migrent vers le HTTPS, pirates et hackers deviennent naturellement de plus en plus aguerris pour exploiter les failles potentielles des sites sécurisés.
Un appel d’URL classique sans HSTS fonctionne de la manière suivante :

  • Un navigateur appelle une URL sans protocole exemple-domaine.com
  • Le navigateur va interroger par défaut la version HTTP.
  • Le serveur reçoit la réponse et indique qu’il y a une redirection vers l’équivalent HTTPS ou que seule la version HTTPS existe et renvoie vers cette dernière
  • Les quelques millisecondes demande/réponse serveur peuvent constituer une faille de sécurité que des hackers peuvent exploiter.

C’est là qu’intervient le HSTS. HTTP Strict Transport Security est un response header informant le navigateur de la manière de se connecter au serveur.  Que fait-il ? Simplement, il force un navigateur à directement appeler le site via son protocole HTTPS, sécurisant le domaine. La version HTTP n’est jamais interrogée. En outre, on observe un gain au niveau du chargement non-négligeable car on bypass la redirection, gagnant quelques précieuses millisecondes. On améliore donc à la fois en sécurité et en rapidité.
Recommandation SF : Chrome a créé une liste de domaines HSTS, reprise par les autres grands navigateurs. Vous pouvez donc y soumettre votre domaine si celui-ci répond à un certain nombre de critères. En effet, le HTTPS doit être activé sur le domaine racine et sur tous les sous-domaines y compris ceux utilisés via l’intranet. C’est donc un peu contraignant. Les sous-domaines doivent également avoir un indicateur «preload» pour indiquer que le propriétaire du domaine consent au préchargement.