Qu'est-ce que WebRTC ?
WebRTC (Web Real-Time Communication, communication en temps réel sur le web) est une technologie qui permet aux navigateurs de communiquer en temps réel entre eux sans avoir besoin d'installer des plugins ou des applications tierces. Ses cas d'utilisation sont très variés :
-
Appels audio et vidéo : Lancer des appels vidéo ou vocaux directement dans le navigateur, largement utilisé pour le télétravail, les réunions en ligne et la télémédecine.
-
Partage de fichiers : Transférer des fichiers directement entre navigateurs sans avoir recours à des e-mails ou à d'autres outils de transfert.
-
Messagerie instantanée : Prend en charge la communication instantanée par texte, voix et vidéo.
-
Collaboration en ligne : Des fonctionnalités telles que le partage d'écran, le tableau blanc interactif et l'édition collaborative reposent sur WebRTC.
-
Jeux en ligne : Base pour la mise en œuvre des jeux multijoueurs et des fonctionnalités de chat vocal.
-
Bureau à distance : Accéder et contrôler d'autres ordinateurs à distance.
-
Diffusion en direct : Prend en charge la diffusion et la lecture de vidéos à faible latence.
En plus de Facebook Messenger, WhatsApp, Discord, Google Meet et Zoom, de nombreuses autres plateformes et services de communication utilisent la technologie WebRTC.
Pourquoi WebRTC divulgue-t-il les adresses IP ?
L'objectif de WebRTC est de permettre aux navigateurs d'échanger directement des données audio et vidéo dans la plupart des cas, sans dépendre de serveurs multimédias intermédiaires. Pour réaliser cette connexion directe de pair à pair, le navigateur doit connaître sa propre adresse IP publique, ce qui entraîne un risque de fuite de confidentialité.
Qu'est-ce que le NAT ?
Lorsque votre appareil se connecte à Internet, il se voit attribuer une adresse IP interne qui n'est valide que sur le réseau local. Pour communiquer avec d'autres appareils sur Internet, cette IP interne doit être mappée à une adresse IP publique unique au monde. Ce processus est appelé la traduction d'adresses réseau (NAT).
Prenons une analogie : votre maison est comme un petit village où chaque habitant a son propre numéro de porte (IP interne), mais tout le village partage le même code postal (IP publique). Lorsque vous envoyez une lettre à quelqu'un en dehors du village, vous devez indiquer ce code postal pour que le facteur sache où la livrer. Le NAT est comme le bureau de poste du village, chargé d'envoyer les paquets de données du village (réseau interne) vers le monde extérieur (Internet). Ainsi, plusieurs appareils de la maison peuvent accéder à Internet via la même adresse IP publique.
Comment WebRTC obtient-il votre véritable adresse IP ?
Pour établir une connexion de pair à pair entre les navigateurs, WebRTC doit obtenir l'adresse IP réelle de l'utilisateur. Il utilise le framework ICE (Interactive Connectivity Establishment) pour accomplir cette tâche, qui comprend deux composants principaux :
Serveurs STUN : Utilisés pour obtenir l'adresse IP publique et le port de l'utilisateur. Comme la plupart des utilisateurs se trouvent derrière un NAT, leur IP interne ne peut pas être utilisée directement pour la communication sur Internet. Le serveur STUN aide le navigateur à « découvrir » sa propre IP publique.
Serveurs TURN : Lorsque certaines configurations réseau empêchent STUN d'obtenir directement l'IP publique, le navigateur peut utiliser un serveur TURN comme relais pour établir la connexion. Cependant, TURN introduit une latence de communication supplémentaire, c'est pourquoi STUN est plus couramment utilisé.
En bref : WebRTC obtient l'adresse IP réelle de l'utilisateur via des serveurs STUN ou TURN pour établir une connexion de pair à pair. Bien que cela fasse partie du fonctionnement normal de WebRTC, cela soulève des préoccupations en matière de confidentialité et de sécurité, car votre véritable adresse IP pourrait être divulguée.
Comment détecter une fuite WebRTC ?
Vous pouvez utiliser des outils comme realfp pour vérifier si WebRTC divulgue votre véritable adresse IP. Lorsque vous visitez la page de test en étant connecté à un VPN, la section des adresses IP affichera à la fois l'IP du proxy et l'IP réelle obtenue par WebRTC. Il est important de noter que certains services VPN ou proxy ne bloquent pas efficacement les fuites WebRTC.
Comment empêcher les fuites d'IP par WebRTC ?
Voici plusieurs méthodes de protection courantes :
-
Désactiver complètement WebRTC : La plupart des navigateurs modernes permettent de désactiver ou de limiter la fonctionnalité WebRTC dans les paramètres ou les préférences de confidentialité. C'est la méthode la plus simple et la plus directe.
-
Utiliser des extensions de navigateur : Certaines extensions de protection de la vie privée spécialement conçues peuvent empêcher efficacement les fuites WebRTC, comme WebRTC Network Limiter, WebRTC Control et WebRTC Leak Prevent.
-
Choisir un proxy ou un VPN plus fiable : Tous les proxys ou VPN ne peuvent pas empêcher les fuites WebRTC. Après avoir choisi un fournisseur, vous devriez utiliser un outil de détection pour vérifier.
-
Utiliser un navigateur anti-détection (recommandé) : Presque tous les navigateurs anti-détection sur le marché permettent de modifier le comportement de WebRTC, empêchant les sites tiers d'obtenir votre véritable adresse IP. Même si un site parvient à obtenir une adresse IP, ce sera celle du proxy et non votre véritable IP. Parfois, « remplacer » est plus efficace que « désactiver », car cela fait en sorte que le site vous considère comme un utilisateur ordinaire plutôt que comme quelqu'un qui cherche délibérément à cacher son identité.
