Qu'est-ce que le contenu mixte? | HTTP contre HTTPS

Un contenu est dit mixte lorsque les sites protégés par TLS contiennent des éléments qui sont chargés via le protocole HTTP non sécurisé. Cela crée une vulnérabilité que les attaquants peuvent exploiter.

Share facebook icon linkedin icon twitter icon email icon

contenu mixte

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Décrire les conditions qui produisent un contenu mixte
  • Différencier le contenu mixte passif et actif
  • Comprendre comment éviter le contenu mixte

Qu'est-ce qu'un contenu mixte ?

Avec TLS (également appelé SSL), la communication Internet est chiffrée de bout en bout, en créant une expérience de navigation plus sécurisée. Les utilisateurs peuvent facilement identifier les sites chiffrés TLS car ils ont « https://» dans l'URL au lieu de « http:// ». Mais dans certains cas, un site HTTPS peut également contenir certains éléments qui sont chargés à l'aide du protocole HTTP en texte clair. Cette condition est connue sous le nom de contenu mixte, parfois appelée 'HTTP sur HTTPS'.

Mixed Content in a Browser

Avec un contenu mixte, les utilisateurs auront l'impression d'être sur une connexion sécurisée chiffrée, car ils se trouvent sur un site protégé par HTTPS, mais les éléments non chiffrés de la page créent des vulnérabilités, exposant ces utilisateurs à des activités malveillantes telles que le suivi non autorisé et des attaques de l'homme du milieu. La gravité de la vulnérabilité varie selon que le contenu mixte est passif ou actif.

Quelle est la différence entre un contenu mixte passif/d'affichage et un contenu mixte actif ?

Contenu mixte passif/d'affichage : Dans ce cas, le contenu HTTP non chiffré est limité aux éléments encapsulés sur le site qui ne peuvent pas interagir avec le reste de la page, comme des images ou des vidéos. Par exemple, un attaquant pourra bloquer ou remplacer une image chargée via HTTP, mais ne pourra pas modifier le reste de la page.

Contenu mixte actif : Dans ce cas, les éléments ou les dépendances qui peuvent interagir avec la page web entière et la modifier sont servis via HTTP. Il s'agit notamment de dépendances telles que les fichiers JavaScript et les requêtes d'API.

Le contenu mixte actif présente une menace plus grave que le contenu mixte passif/d'affichage. Lorsqu'il est compromis, il permet à un attaquant de prendre le contrôle d'une page web entière, de collecter des entrées utilisateur sensibles telles que les informations de connexion, de servir à l'utilisateur une page usurpée ou de rediriger l'utilisateur vers le site d'un attaquant.

La plupart des navigateurs web modernes fournissent des avertissements dans la console du développeur pour le contenu mixte, ainsi que le blocage des types de contenu mixte les plus dangereux. Chaque navigateur a son propre ensemble de règles, mais en règle générale, le contenu mixte actif est beaucoup plus susceptible d'être bloqué.

Bien que le contenu mixte passif/d'affichage représente une menace moindre, il offre toujours aux attaquants la possibilité de compromettre la confidentialité et de suivre l'activité des utilisateurs. En outre, étant donné que de nombreux navigateurs autorisent certaines formes de contenu mixte passif et ne fournissent aux utilisateurs que des avertissements de contenu mixte dans la console du développeur, beaucoup d'utilisateurs ne savent pas qu'ils sont exposés à du contenu mixte.

Mixed Content Errors in Chrome

Les utilisateurs de navigateurs web désuets sont particulièrement vulnérables, car ces navigateurs peuvent ne pas bloquer du tout le contenu mixte.

Pourquoi les navigateurs ne bloquent-ils pas tout le contenu mixte ?

Malheureusement, un grand nombre de sites web populaires proposent du contenu mixte sous une forme ou une autre. Un navigateur web qui bloquerait tout le contenu mixte fournirait une version très étroite du web à ses utilisateurs. Tant que davantage de sites web n'ont pas résolu ce problème, les navigateurs devront faire des compromis en autorisant certaines des formes les moins sévères de contenu mixte.

Comment corriger les erreurs de contenu mixte ?

Les développeurs web sont responsables de l'élimination du contenu mixte. Au fil du temps, les navigateurs web sont devenus de plus en plus restrictifs à l'égard du contenu mixte, et cette tendance ne fera que se poursuivre. Il est donc impératif que les développeurs éliminent le contenu mixte s'ils souhaitent que les navigateurs web continuent d'afficher leur site.

Le correctif pour le contenu mixte est assez simple : les développeurs web doivent s'assurer que toutes les ressources de leur page sont chargées via HTTPS. En pratique, cela peut s'avérer délicat, car les sites web modernes chargent souvent plusieurs ressources différentes à partir de divers endroits.

La console développeur de Google Chrome est un bon outil pour les développeurs pour repérer toutes les instances de contenu mixte sur leurs pages. Les développeurs peuvent également vérifier leur code source pour les instances de ressources, telles que les appels API et les bibliothèques, qui sont chargées à l'aide d'une URL 'http://'. Dans certains cas, la solution remplace simplement l'URL 'http://' par 'https://'. Mais d'abord, il faut vérifier qu'une version HTTPS de cette ressource est disponible. Si une version chiffrée de la ressource n'est pas disponible, elle devra être remplacée ou supprimée complètement.

Consultez l'outil Cloudflare pour identifier les problèmes SSL, y compris le contenu mixte: https://www.cloudflare.com/diagnostic-center/