Lorsqu’on s’intéresse aux aspects vraiment technologiques du web, c’est souvent parce qu’on rencontre un problème.
On n’y prête pas toujours attention, mais chaque fois qu’on entre une adresse dans la barre d’un navigateur internet, elle est précédée des lettres « HTTP ».
Si vous avez l’habitude de consulter le site de votre banque ou d’accéder à des données personnelles sur internet, vous aurez certainement constaté que ce sigle devient « HTTPS ».
Plus qu’un ajout purement cosmétique, le protocole HTTPS vise à renforcer la sécurité de la connexion. Concrètement, HTTPS permet d’être sûr qu’on se connecte au site affiché et qu’on n’est pas détourné (ou que des informations que l’on fournit ne sont pas envoyées) vers un autre site.
Un site sur lequel la connexion est « HTTPS » est donc un véritable gage de sécurité pour les visiteurs, et de crédibilité pour les propriétaires et animateurs du site.
Presque tous les sites installent aujourd’hui des certificats SSL visant à encourager les connexions sécurisées (et d’autant plus que Google a laissé entendre plusieurs fois que le « https » était signal de qualité pour le moteur de recherche). Fort heureusement, il n’est pas absolument nécessaire d’être un virtuose de la programmation web pour faire usage d’un certificat SSL ou même pour mettre en place une politique HSTS.
Pourquoi avoir recours au HTTPS ?
Le protocole HTTP a longtemps été la norme consacrée pour accéder aux sites internet. Le problème, est que, comme beaucoup de technologies initiales du web, le protocole HTTP s’est avéré moins sécurisé qu’on le pensait au départ. En effet, des pirates et logiciels malveillants peuvent effectuer des attaques malicieuses en trompant le navigateur internet des visiteurs.
Le HTTPS permet d’entraver de telles initiatives. En proposant un site qui ne fonctionne qu’avec ce protocole, les webmasters apportent une mesure supplémentaire de protection.
Ceci dit, la question reste entière pour savoir comment obliger les internautes à n’utiliser que la version HTTPS du site. En effet, une simple redirection peut être contournée en faisant croire au navigateur qu’il est déjà arrivé à destination. Cette technique est souvent employée par les pirates et logiciels malveillants. Ainsi, en trompant les utilisateurs, ils peuvent usurper l’adresse du site et mettre en place un arsenal redoutable d’outils et de stratégies pour accéder à leurs données personnelles.
Comment imposer une norme de sécurité à vos visiteurs ?
Il ne suffit donc pas de proposer une connexion sécurisée à son site. Encore faut-il s’assurer que les internautes en fassent toujours usage. La solution la plus élégante consiste à imposer la politique HSTS (HTTP Strict Transport Security). En français, Sécurité de Transport Strict par HTTPS. Il s’agit d’un mode de connexion qui oblige tous les navigateurs qui accèdent au domaine à ne communiquer que par requêtes HTTPS.
Un certificat SSL, qu’est-ce que c’est ?
Le certificat SSL est une sorte de clé digitale qui fait le lien entre une organisation et un nom de domaine internet. Il pourrait être comparé, dans la vie réelle, à un titre foncier ou un droit de propriété sur un terrain. C’est la preuve qu’un nom de domaine spécifique est lié à une organisation donnée. Ce certificat Secure Socket Layer indique aux navigateurs internet que le site n’est accessible que via connexion sécurisée.
Pour identifier un site qui dispose d’un certificat SSL valide, il suffit de consulter la barre d’adresse. Un symbole de cadenas apparaît généralement, accompagné du nom de l’entité à laquelle appartient le certificat, et du protocole HTTPS.
HSTS. Comment fonctionne-t-il ?
Comme indiqué plus haut, la présence du certificat ne suffit pas, à elle seule à garantir la pleine sécurité des visiteurs. On pourrait assimiler le certificat à un vigile intransigeant. Il est en mesure de déjouer 99% des menaces, mais il sera absolument inutile s’il y a des voies d’accès, autres que celles qu’il garde. Le rôle du HSTS, dans cet exemple, est en quelque sorte de forcer tous les visiteurs à obtenir le feu-vert du vigile.
Le protocole HSTS modifie toute requête non sécurisée d’un navigateur en requête sécurisée par HTTPS. Toutes les données échangées entre le serveur web et l’utilisateur sont continuellement protégées par cryptage.
Vous avez donc besoin de deux choses pour mettre en place cette mesure de sécurité :
– Un certificat SSL valide pour votre nom de domaine ;
– Une en-tête Strict-Transport-Security (en-tête HSTS) ;
L’en-tête est un fichier installé sur votre domaine web qui interpelle le navigateur dès la première connexion. Il lui indique en général certaines informations et règles à suivre lorsqu’il interagit avec le domaine en question. Dans le cas d’une en-tête HSTS dont les règles définissent que le navigateur ne pourra plus accéder à la version non sécurisée (en HTTP) du site, pendant une certaine période de temps. Cette période est fixée à plusieurs mois, voire plusieurs années.
L’implémentation du HSTS
La mise en place de ce protocole doit se faire de manière progressive. Pour commencer, il est recommandé de fixer la durée de validité du HSTS à quelques minutes, histoire de tester toutes les fonctionnalités du site et de s’assurer que les sessions et données d’utilisateurs sont gérées convenablement. Ensuite, le délai pourra être étendu à une semaine pour identifier des bugs moins évidents. Lorsque tout fonctionne sans accrocs, on peut enfin fixer la durée à deux ans par exemple.
Il va sans dire, que si pour une raison ou une autre vous cessez d’employer le certificat SSL et que la version HTTPS de votre site n’est plus accessible, le protocole HSTS empêchera les navigateurs qui y avaient accédé par le passé d’y retourner à nouveau. Prenez donc soin de toujours avoir un certificat valide.
Le HSTS n’est pas une solution infaillible contre le piratage informatique ou l’interception de données. Il existe encore des moyens de contourner ces mesures de sécurité, mais elles ne sont pas à la portée du premier venu. De plus, la mise en place du HSTS contribue considérablement à accroître la réputation de votre site et donc son classement sur les moteurs de recherche.