Qu'est-ce que le contenu mixte ?

Une page contient du contenu mixte lorsque son code HTML initial est chargé via une connexion HTTPS sécurisée, mais que d'autres ressources (telles que des images, des vidéos, des feuilles de style et des scripts) sont chargées via une connexion HTTP non sécurisée. Le nom fait référence au mélange de contenu HTTP et HTTPS sur une même page.

Le fait de demander des sous-ressources à l'aide du protocole HTTP non sécurisé affaiblit la sécurité de la page, car ces requêtes sont vulnérables aux attaques de type "man-in-the-middle", dans lesquelles un pirate informatique écoute une connexion réseau et consulte ou modifie la communication entre deux parties. Grâce à ces ressources, les pirates informatiques peuvent suivre les utilisateurs et remplacer le contenu d'un site Web. Dans le cas de contenu mixte actif, ils peuvent prendre le contrôle complet de la page, et pas seulement des ressources non sécurisées.

Bien que de nombreux navigateurs signalent les avertissements de contenu mixte à l'utilisateur, le rapport arrive souvent trop tard : les requêtes non sécurisées ont déjà été effectuées et la sécurité de la page est compromise.

La plupart des navigateurs bloquent désormais le contenu mixte pour des raisons de sécurité. Remplacez les requêtes de contenu non sécurisé par du contenu sécurisé pour vous assurer que votre page continue de se charger correctement.

Les deux types de contenu mixte

Il existe deux types de contenu mixte : actif et passif.

Le contenu mixte passif, y compris les images, les vidéos et les contenus audio, n'interagit pas avec le reste de la page. Par conséquent, une attaque de l'homme du milieu est limitée dans ce qu'elle peut faire si elle intercepte ou modifie ce contenu.

Le contenu mixte actif interagit avec la page dans son ensemble. Cela inclut les scripts, les feuilles de style, les iFrames et tout autre code que le navigateur peut télécharger et exécuter. Les attaques contre le contenu mixte actif permettent à un pirate informatique de faire presque tout sur la page.

Contenu mixte passif

Le contenu mixte passif présente moins de risques que le contenu mixte actif, mais le risque existe tout de même. Par exemple, un pirate informatique peut :

  • Interceptez les requêtes HTTP pour les images de votre site et échangez ou remplacez ces images.
  • Remplacez les images sur les boutons pour que les utilisateurs les confondent et, par exemple, suppriment du contenu qu'ils souhaitaient enregistrer.
  • défigurent votre site en remplaçant vos images par du contenu pornographique ;
  • Remplacez les images de vos produits par des annonces pour autre chose.

Même si le pirate informatique ne modifie pas le contenu de votre site, il peut suivre les utilisateurs grâce aux requêtes de contenu mixte. Elles peuvent également déterminer les pages qu'un utilisateur consulte et les produits qu'il regarde en fonction des images ou d'autres ressources que le navigateur charge.

Si du contenu mixte passif est présent, la plupart des navigateurs indiquent dans la barre d'adresse que la page n'est pas sécurisée, même si elle est chargée via HTTPS. Vous pouvez observer ce comportement dans cette démonstration.

Jusqu'à récemment, le contenu mixte passif était chargé dans tous les navigateurs, car le bloquer aurait cassé de nombreux sites Web. Cette situation est en train de changer. Il est donc essentiel de mettre à jour toutes les instances de contenu mixte sur votre site.

Dans certains cas, Chrome met automatiquement à niveau le contenu mixte passif. Cela signifie que si un élément a été codé en dur en tant que HTTP, mais qu'il est disponible via HTTPS, le navigateur charge la version HTTPS. Si aucune version sécurisée n'est disponible, le composant ne se charge pas.

Chaque fois que Chrome détecte du contenu mixte ou met à niveau automatiquement du contenu mixte passif, il consigne des messages détaillés dans l'onglet Problèmes des outils de développement pour vous conseiller sur la résolution de votre problème spécifique.

L'onglet "Problèmes" des outils de développement Chrome fournit des informations détaillées sur le problème de contenu mixte spécifique et sur la façon de le résoudre.
Chaque ressource non sécurisée est listée dans les outils pour les développeurs, avec un état de restriction.

Contenu mixte actif

Le contenu mixte actif représente une menace plus importante que le contenu mixte passif. Un pirate informatique peut intercepter et réécrire le contenu actif, ce qui lui permet de prendre le contrôle total de votre page, voire de l'ensemble de votre site Web. Cela leur permet de modifier n'importe quel aspect de la page, y compris d'afficher un contenu différent, de voler les mots de passe ou autres identifiants de connexion des utilisateurs, de voler les cookies de session des utilisateurs ou de rediriger l'utilisateur vers un autre site.

Les risques liés au contenu mixte actif étant très élevés, la plupart des navigateurs bloquent déjà ce type de contenu par défaut pour protéger les utilisateurs. Toutefois, le comportement varie selon les fournisseurs et les versions des navigateurs.

Cette démonstration présente des exemples de contenu mixte actif. Chargez l'exemple via HTTP pour voir le contenu bloqué lorsque vous chargez l'exemple via HTTPS. Le contenu bloqué est également détaillé dans l'onglet Problèmes des outils de développement.

L'onglet "Problèmes" des outils de développement Chrome fournit des informations détaillées sur le problème de contenu mixte spécifique et sur la façon de le résoudre.
Certaines ressources non sécurisées sont bloquées pour renforcer la sécurité de votre site.

Spécifications du contenu mixte

Les navigateurs suivent la spécification de contenu mixte, qui définit les catégories contenu pouvant être bloqué et contenu devant être bloqué.

Une ressource est considérée comme un contenu pouvant être bloqué de manière facultative "lorsque le risque d'autoriser son utilisation en tant que contenu mixte est inférieur au risque de casser des parties importantes du Web". Il s'agit d'un sous-ensemble de contenu mixte passif.

Tout contenu mixte qui n'est pas blocable de manière facultative est considéré comme blocable et doit être bloqué par le navigateur.

Ces dernières années, l'utilisation du protocole HTTPS a considérablement augmenté et est devenue la norme sur le Web. Il est désormais plus facile pour les navigateurs d'envisager de bloquer tout le contenu mixte, y compris les types de sous-ressources définis comme bloquables de manière facultative dans la spécification du contenu mixte.

Anciens navigateurs

Il est possible que certains visiteurs utilisent des navigateurs plus anciens. Les différentes versions de navigateurs de différents fournisseurs traitent le contenu mixte différemment. Dans le pire des cas, les anciens navigateurs et versions ne bloquent aucun contenu mixte, ce qui est dangereux pour l'utilisateur.

En chargeant toutes vos ressources de manière sécurisée et en résolvant vos problèmes de contenu mixte, vous vous assurez que votre contenu est visible et vous protégez les utilisateurs contre les contenus dangereux que les anciens navigateurs peuvent ne pas bloquer.