Introduction au HSTS
HSTS signifie HTTP Strict-Transport-Security, qui est un mécanisme de politique de sécurité web. HSTS a été inclus pour la première fois dans le ThoughtWorks Technology Radar en 2015, et dans le dernier numéro du Technology Radar en 2016, il est passé directement de l’étape « Essai » à la phase « Adoption », ce qui signifie que ThoughtWorks plaide fortement pour l’adoption active de cette mesure de défense de sécurité par l’industrie, et ThoughtWorks l’a appliquée à ses propres projets. Le cœur du HSTS est un en-tête de réponse HTTP. C’est elle qui informe le navigateur que le nom de domaine actuel n’est accessible que via HTTPS pour la période suivante, et si le navigateur constate que la connexion actuelle n’est pas sécurisée, il refusera de force les demandes d’accès ultérieures de l’utilisateur.
Un site web avec une politique HSTS garantit que le navigateur est toujours connecté à la version chiffrée HTTPS du site, éliminant ainsi la nécessité pour les utilisateurs d’entrer manuellement l’adresse chiffrée dans la barre d’adresses URL, réduisant ainsi le risque de détournement de session.
HTTPS (SSL et TLS) garantit que les utilisateurs et les sites web communiquent de manière sécurisée, rendant difficile l’interception, la modification et l’usureuse d’identité des attaquants. Quand un utilisateurSaisissez manuellement un nom de domaine ou un lien http://, du site webLa première requête n’est pas chiffrée, en utilisant un http simple. Cependant, les sites les plus sécurisés renvoient immédiatement une redirection dirigeant l’utilisateur vers une connexion https,Un attaquant man-in-the-middle peut attaquer pour intercepter la requête HTTP initiale et ainsi contrôler la réponse ultérieure de l’utilisateur。
Principes HSTS
HSTS contrôle principalement les opérations du navigateur en envoyant des en-têtes de réponse depuis le serveur : Lorsqu’un client effectue une requête via HTTPS, le serveur inclut le champ Strict-Transport-Security dans l’en-tête de réponse HTTP qu’il renvoie. Après que le navigateur ait reçu ces informations,Toute demande au site dans un certain délai est initiée en HTTPSsans être redirigé vers HTTPS par le serveur initié par HTTP.
Format d’en-tête de réponse HSTS
Description des paramètres :
max-age (en quelques secondes) : Utilisé pour indiquer au navigateur que le site web doit être accessible via le protocole HTTPS dans un délai spécifié. C’est-à-dire que pour l’adresse HTTP de ce site, le navigateur doit la remplacer localement par HTTPS avant d’envoyer la requête. includeSubDomains (optionnel) : Si ce paramètre est spécifié, il indique que tous les sous-domaines du site doivent également être accessibles via le protocole HTTPS. préchargement : Une liste de noms de domaine utilisant HTTPS intégré au navigateur.
Liste de préchargement HSTS
Bien que le HSTS soit une bonne solution contre les attaques de dégradation HTTPS, pour HSTSLa première requête HTTP avant qu’elle ne prenne effet, toujoursIl est inévitableDétourné。 Pour résoudre ce problème, les fabricants de navigateurs ont proposé la solution HSTS Preload List. (omis)
Configuration de l’IIS
Avant la configuration, visitez le site web indiqué ci-dessous :
Pour implémenter cela dans IIS7+, il suffit d’ajouter l’exigence CustomHeader pour HSTS dans web.config, qui est configurée comme suit :
Après la modification, revisitez le site web, comme indiqué ci-dessous :
Configuration Nginx
Si le site utilise nginx reverse proxy, vous pouvez aussi configurer nginx directement pour l’implémenter, comme suit :
Règles de vue Chrome
Pour consulter les règles actuelles du HSTS, utilisez Google Chrome Chrome pour taperchrome://net-internals/#hstsEntrez dans la voiture, comme illustré sur la figure ci-dessous :
référence
Sécurité stricte du transport HTTP :La connexion hyperlientérée est visible.
(Fin)
|