Une page comporte un 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 à la combinaison de contenus HTTP et HTTPS sur une même page.
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 sur le chemin, au cours desquelles un pirate informatique écoute une connexion réseau et voit ou modifie la communication entre deux parties. À l'aide de 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 total de la page, et pas seulement des ressources non sécurisées.
Bien que de nombreux navigateurs signalent aux utilisateurs des avertissements de contenu mixte, ce rapport est 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é. Modifiez les requêtes de contenu non sécurisé afin de vous assurer que votre page se charge 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, la vidéo et l'audio, n'interagit pas avec le reste de la page. Par conséquent, une attaque MITM ("man in the middle") limite ses opérations 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 ciblant du contenu mixte actif permettent à un pirate informatique de faire presque tout ce que vous voulez sur la page.
Contenu mixte passif
Le contenu mixte passif présente moins de risque que le contenu mixte actif, mais ce risque est toujours présent. Par exemple, un pirate informatique peut:
- Interceptez les requêtes HTTP pour les images de votre site, et remplacez ou remplacez ces images.
- Remplacez les images des boutons afin que les utilisateurs les confondent et, par exemple, suppriment le contenu qu'ils souhaitaient enregistrer.
- altérer 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 via des requêtes de contenu mixte. Elles peuvent également indiquer les pages qu'un utilisateur consulte et les produits qu'il consulte, en fonction des images ou d'autres ressources chargées par le navigateur.
En présence de contenu mixte passif, la plupart des navigateurs indiquent dans la barre d'adresse que la page n'est pas sécurisée, même lorsqu'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 son blocage aurait entraîné le dysfonctionnement de nombreux sites Web. Comme ces changements commencent à présent, vous devez impérativement 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 sur HTTPS, le navigateur charge la version HTTPS. En l'absence de version sécurisée, l'élément ne se charge pas.
Chaque fois que Chrome détecte un contenu mixte ou met à niveau automatiquement ce type de contenu, il enregistre des messages détaillés dans l'onglet Issues (Problèmes) des outils de développement pour vous conseiller de résoudre votre problème spécifique.
Contenu mixte actif
Le contenu mixte actif présente une menace plus importante que le contenu mixte passif. Un pirate informatique peut intercepter et réécrire le contenu actif afin 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 l'affichage d'un contenu différent, le vol de mots de passe utilisateur ou d'autres identifiants de connexion, le vol des cookies de session utilisateur ou la redirection de l'utilisateur vers un site entièrement différent.
Les risques liés à l'utilisation de contenu mixte actif sont très élevés. C'est pourquoi la plupart des navigateurs bloquent déjà ce type de contenu par défaut afin de protéger les utilisateurs, mais ce comportement varie selon les fournisseurs et les versions de 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.
Spécification de contenu mixte
Les navigateurs respectent la spécification de contenu mixte, qui définit les catégories contenu pouvant être bloqué de manière facultative et contenu bloquable.
Une ressource est considérée comme du contenu pouvant être bloqué de manière facultative "lorsque le risque d'autoriser son utilisation en tant que contenu mixte est compensé par le risque de briser d'importantes parties du Web". Il s'agit d'un sous-ensemble de contenu mixte passif.
Tout contenu mixte qui n'est pas peut être bloqué est considéré comme bloquable et doit être bloqué par le navigateur.
Ces dernières années, l'utilisation du protocole HTTPS a considérablement augmenté et est devenu l'élément par défaut évident sur le Web. Il est ainsi plus facile pour les navigateurs d'envisager de bloquer tout contenu mixte, même les types de sous-ressources définis dans la spécification de contenu mixte comme blocables de manière facultative.
Navigateurs plus anciens
Certains visiteurs utilisent peut-être des navigateurs plus anciens. Les versions de navigateur de différents fournisseurs traitent le contenu mixte différemment. Dans le pire des cas, les anciens navigateurs et versions ne bloquent pas du tout le contenu mixte, ce qui présente un risque pour l'utilisateur.
En chargeant toutes vos ressources de manière sécurisée et en résolvant les problèmes de contenu mixte, vous vous assurez que votre contenu est visible et que les utilisateurs sont protégés contre les contenus dangereux que les anciens navigateurs ne bloquent pas.