49 votes

Existe-t-il une raison de ne pas imposer le protocole HTTPS sur un site web ?

Un site web que je fréquente a finalement décidé d'activer TLS sur ses serveurs, mais sans l'imposer comme le font de nombreux sites web. Le responsable affirme que TLS doit être facultatif. Pourquoi ?

Sur mon propre site web, j'ai mis en place TLS et HSTS obligatoires depuis longtemps, avec de longues périodes, et les suites de chiffrement les plus faibles sont désactivées. L'accès en texte brut est garanti par un lien HTTP 301 vers la version protégée par TLS. Cela a-t-il un impact négatif sur mon site web ?

62voto

sysadmin1138 Points 129885

À l'heure actuelle, TLS + HSTS sont des marqueurs indiquant que votre site est géré par des professionnels dont on peut attendre qu'ils sachent ce qu'ils font. Il s'agit là d'une norme minimale émergente en matière de fiabilité, comme en témoigne le fait que Google ait déclaré qu'il accorderait un classement positif aux sites qui respectent cette norme.

De l'autre côté, il y a une compatibilité maximale. Il existe encore des clients plus anciens, en particulier dans les régions du monde qui ne sont pas les États-Unis, l'Europe ou la Chine. Le protocole HTTP simple fonctionnera toujours (mais pas toujours). bien (c'est une autre histoire).

TLS + HSTS : Optimiser le classement dans les moteurs de recherche
HTTP simple : Optimiser la compatibilité

Cela dépend de ce qui compte le plus pour vous.

30voto

Mladen Mihajlovic Points 2476

Il y a une bonne raison à cela. en lecture seule les sites web n'utilisent pas HTTPS.

  • Les caches Web ne peuvent pas mettre en cache les images transportées par HTTPS.
  • Certaines régions du monde ont des connexions internationales à très bas débit et dépendent donc des caches.
  • L'hébergement d'images à partir d'un autre domaine nécessite des compétences que vous ne pouvez pas exiger des petits opérateurs. en lecture seule sites web à posséder.

14voto

Dave Mateer Points 163

Le responsable affirme que TLS doit être optionnel. Pourquoi ?

Pour connaître la réponse à cette question, il faut la leur poser. Nous pouvons cependant faire quelques suppositions.

Dans les environnements d'entreprise, il est courant que les services informatiques installent un pare-feu qui inspecte le trafic entrant et sortant à la recherche de logiciels malveillants, d'activités suspectes de type CnC, de contenus jugés inappropriés pour le travail (par exemple, la pornographie), etc. Cela devient beaucoup plus difficile lorsque le trafic est crypté. Il y a essentiellement trois réponses possibles :

  1. Renoncer à contrôler ce trafic.
  2. Installez une autorité de certification racine sur les machines des utilisateurs afin de pouvoir procéder au décryptage et à l'inspection MitM.
  3. Bloquer en gros le trafic crypté.

Pour un administrateur système concerné, aucune de ces options n'est particulièrement attrayante. Les menaces qui pèsent sur le réseau d'une entreprise sont très nombreuses, et c'est à l'administrateur système qu'il incombe de protéger l'entreprise contre ces menaces. Cependant, le blocage total d'un grand nombre de sites soulève l'ire des utilisateurs, et l'installation d'une autorité de certification racine peut sembler un peu scabreuse, car elle introduit des considérations relatives à la vie privée et à la sécurité pour les utilisateurs. Je me souviens d'avoir vu (désolé, je ne retrouve pas le fil) un administrateur système adresser une pétition à reddit lorsqu'ils ont commencé à activer HSTS parce qu'il se trouvait exactement dans cette situation et qu'il ne voulait pas bloquer tout reddit simplement parce qu'il était contraint par l'entreprise de bloquer les subreddits axés sur la pornographie.

Les roues de la technologie continuent de tourner, et nombreux sont ceux qui affirment que ce type de protection est démodé et devrait être progressivement abandonné. Mais il y a encore beaucoup de gens qui la pratiquent, et c'est peut-être d'eux que se préoccupe votre mystérieux mainteneur.

9voto

Esa Jokinen Points 41064

Il y a plusieurs bonnes raisons d'utiliser TLS

(et seulement quelques raisons marginales de ne pas le faire).

  • Si le site dispose d'une authentification, l'utilisation du protocole HTTP permet de voler des sessions et des mots de passe.

  • Même sur des sites statiques et purement informatifs, l'utilisation de TLS permet de s'assurer que personne n'a manipulé les données.

  • Depuis Google I/O 2014 Google a pris plusieurs mesures pour encourager tous les sites à utiliser le protocole HTTPS :

  • Le blog de sécurité de Mozilla a également annoncé Suppression du protocole HTTP non sécurisé en faisant toutes les nouvelles fonctionnalités disponibles uniquement pour les sites web sécurisés y supprimer progressivement l'accès aux fonctions du navigateur pour les sites web non sécurisés, en particulier les fonctions qui présentent des risques pour la sécurité et la vie privée des utilisateurs .

Il existe également plusieurs bonnes raisons d'appliquer le protocole TLS

Si vous disposez déjà d'un certificat largement reconnu, pourquoi ne pas l'utiliser systématiquement ? Pratiquement tous les navigateurs actuels prennent en charge le protocole TLS et disposent de certificats racine. Le seul problème de compatibilité que j'ai vu depuis des années concernait les appareils Android et les certificats racine. Autorité de certification intermédiaire manquante car Android ne fait confiance qu'aux autorités de certification racine directement. Ce problème peut être facilement évité en configurant le serveur de manière à ce qu'il renvoie la chaîne de certificats à l'autorité de certification racine.

Si votre responsable souhaite toujours autoriser les connexions HTTP sans connexion directe, vous pouvez vous adresser à l'équipe de maintenance. 301 Moved Permanently La Commission européenne a mis en place un système de gestion de l'accès à l'internet, par exemple pour garantir l'accès à partir de certains navigateurs ou appareils mobiles très anciens, il n'y a aucun moyen pour le navigateur de savoir que vous avez configuré HTTPS . En outre, vous ne devez pas déployer HTTP Strict Transport Security (HSTS) sans 301 Moved Permanently :

7.2.  HTTP Request Type

   If an HSTS Host receives a HTTP request message over a non-secure
   transport, it SHOULD send a HTTP response message containing a status
   code indicating a permanent redirect, such as status code 301
   (Section 10.3.2 of [RFC2616]), and a Location header field value
   containing either the HTTP request's original Effective Request URI
   (see Section 9 "Constructing an Effective Request URI") altered as
   necessary to have a URI scheme of "https", or a URI generated
   according to local policy with a URI scheme of "https").

Le problème des différents sites configurés pour les deux protocoles est reconnu par Le projet Tor et le Electronic Frontier Foundation (en anglais) et abordé par un navigateur multiple HTTPS partout extension :

De nombreux sites sur le web offrent une prise en charge limitée du cryptage au moyen du protocole HTTPS, mais en rendent l'utilisation difficile. Par exemple HTTP non chiffré, ou remplir les pages chiffrées avec des liens qui renvoient à au site non crypté.

Contenu mixte était également un énorme problème en raison des attaques XSS possibles contre les sites HTTPS par la modification de JavaScript ou de CSS chargés via une connexion HTTP non sécurisée. C'est pourquoi, de nos jours, tous les navigateurs courants avertissent les utilisateurs des pages à contenu mixte et refusent de les charger automatiquement. Ce qui suit est un exemple de ce que l'on peut faire. rend difficile la maintenance d'un site sans le 301 redirections sur HTTP : vous devez vous assurer que chaque page HTTP ne charge que du contenu HTTP (CSS, JS, images, etc.) et que chaque page HTTPS ne charge que du contenu HTTPS. C'est extrêmement difficile à réaliser avec le même contenu sur les deux.

5voto

mtraceur Points 197

Tout dépend de vos exigences en matière de sécurité, du choix de l'utilisateur et du risque de déclassement implicite. La désactivation des anciens algorithmes de chiffrement côté serveur est en grande partie nécessaire parce que les navigateurs passeront volontiers à des algorithmes de chiffrement absolument horribles côté client au nom de l'expérience et de la commodité de l'utilisateur. S'assurer que rien de ce qui dépend sur un canal sécurisé à l'utilisateur ne peut être atteint par une méthode non sécurisée est, bien entendu, également très judicieuse.

Ne pas me permettre de passer explicitement à un protocole HTTP non sécurisé lorsque j'estime que votre billet de blog expliquant pourquoi vous préférez Python à Ruby (je ne dis pas que c'est le cas, il s'agit juste d'un exemple générique) n'est pas quelque chose que je souhaite que les espions ou le public sachent que j'y ai accédé, c'est me mettre des bâtons dans les roues sans raison valable, en partant du principe que le protocole HTTPS sera trivial pour moi.

Il existe aujourd'hui des systèmes embarqués qui n'ont pas la capacité d'utiliser TLS dès le départ, ou qui sont bloqués sur d'anciennes implémentations (je pense qu'il est terriblement dommage qu'il en soit ainsi, mais en tant qu'utilisateur puissant de [insérer un dispositif embarqué ici], je ne peux parfois pas changer cela).

Voici une expérience amusante : essayez de télécharger une version récente de LibreSSL depuis le site OpenBSD en amont via HTTPS avec une implémentation TLS/SSL suffisamment ancienne. Vous n'y arriverez pas. J'ai essayé l'autre jour sur un appareil avec une ancienne version d'OpenSSL datant d'environ 2012, parce que je voulais mettre à jour ce système embarqué avec un nouveau système plus sûr à partir des sources - je n'ai pas le luxe d'avoir un paquetage préconstruit. Les messages d'erreur lorsque j'ai essayé n'étaient pas vraiment intuitifs, mais je suppose que c'était parce que mon ancien OpenSSL ne prenait pas en charge les bons éléments.

C'est un exemple où le passage au only-HTTPS peut en fait nuire aux gens : si vous n'avez pas le luxe d'avoir des paquets préconstruits récents et que vous voulez résoudre le problème vous-même en construisant à partir des sources, vous êtes bloqué. Heureusement, dans le cas de LibreSSL, vous pouvez vous rabattre sur la demande explicite de HTTP. Bien sûr, cela ne vous sauvera pas d'un attaquant qui réécrit déjà votre trafic, capable de remplacer les paquets sources par des versions compromises et de réécrire toutes les sommes de contrôle dans les corps HTTP décrivant les paquets disponibles au téléchargement sur les pages web que vous parcourez, mais c'est toujours utile dans le cas le plus courant.

La plupart d'entre nous ne sont pas à un téléchargement non sécurisé près d'être la propriété d'un APT (Advanced Persistent Thread : jargon de sécurité pour les agences de renseignement nationales et d'autres cybermenaces extrêmement bien dotées en ressources). Parfois, j'ai juste envie de wget une documentation en texte clair ou un petit programme dont je peux rapidement vérifier les sources (mes propres petits utilitaires/scripts sur GitHub, par exemple) sur une machine qui ne prend pas en charge les suites de chiffrement les plus récentes.

Personnellement, je poserais la question suivante : votre contenu est-il tel qu'une personne pourrait légitimement décider "Je suis d'accord pour que mon accès soit connu du public" ? Existe-t-il un risque plausible de voir des personnes non techniques passer accidentellement au protocole HTTP pour accéder à votre contenu ? Pesez vos exigences en matière de sécurité, de respect de la vie privée de vos utilisateurs et de risque de déclassement implicite par rapport à la capacité des utilisateurs qui comprennent les risques à choisir en connaissance de cause, au cas par cas, de ne pas être sécurisés. Il est tout à fait légitime de dire que pour votre site, il n'y a pas de bonne raison de ne pas appliquer le HTTPS - mais je pense qu'il est juste de dire qu'il existe encore de bons cas d'utilisation du HTTP simple.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X