Vérification de la sécurité : HTTPs et HSTS

Catégorie : Sécurité

HTTPS

Aucun créateur web n’ignore aujourd’hui l’importance de communiquer en HTTPs avec ses visiteurs. Google recommande depuis longtemps l’usage d’une connexion sécurisé, mais ce qui était auparavant un impératif uniquement pour les boutiques en ligne et les sites recevant des données sensibles (données personnelles, données bancaires, etc.) s'étend maintenant au web entier. Google encourage "à adopter le protocole HTTPS afin de permettre aux internautes de consulter votre site Web en toute sécurité, quel que soit son contenu" (voir les consignes de Google en matière de HTTPs). De plus, Google Chrome devrait très prochainement signaler les sites non HTTPs comme non sécurisés. Il était temps qu’Alyze signale clairement le non-usage du protocole HTTPs.

Analyse d'une page non sécurisée
Lorsqu’une page se charge en HTTP simple, un avertissement est généré dans l'Onglet Réseau et une explication est fournie dans la section HTTP / Sécurité.

HSTS

Ce n’est pas tout, puisque Alyze, suivant là aussi les recommandations de bons sens de Google, signale le non-usage de la méthode HTTP Strict Transport Security (HSTS).

Analyse d'une page sans HTTP Strict Transport Security
Avertissement généré en cas de page chargée en HTTPs, mais sans HSTS.

HSTS permet de combler une faille de sécurité potentielle. Typiquement, lorsqu’un internaute accède à votre site via un lien en HTTP simple, son navigateur établit une connexion non sécurisée que votre serveur redirige (HTTP 301) vers la version sécurisée. Cela ouvre la porte à des attaques de type man in the middle (MITM). Un pirate placé sur le réseau (pensez aux réseaux wifi publics…) peut intercepter la connexion et injecter un contenu malveillant en lieu et place de votre redirection. HSTS vise à combler cette faille en indiquant au navigateur de se connecter directement en HTTPs (pendant un temps défini), même si l’internaute clique sur un lien en HTTP ou entre directement l’adresse du site sans HTTPs.

L'entête HTTP HSTS ressemble à ça (où xxx représente le temps de validité de la consigne en secondes) :

Strict-Transport-Security: max-age=xxx
Analyse d'une page avec HTTP Strict Transport Security
Alyze convertit les temps en secondes en jours (plus lisible)

Voilà pour une présentation très simplifiée du mécanisme HSTS, pour en savoir plus vous pouvez consulter l’article de la fondation Mozilla traitant de HSTS ou les consignes de Google (lien ci-dessus).

– Licence : CC BY-SA