Test WebRTC leak: il browser rivela il tuo IP vero?
Il test chiede al browser gli indirizzi che WebRTC mostrerebbe a qualsiasi sito e li confronta con l'IP che vede il nostro server. Se con la VPN accesa compare un IP pubblico diverso da quello del server VPN, c'è una perdita. Tutto avviene nel tuo browser: non salviamo nulla.
IP visto dal nostro server
in attesa
Test in corso…
| Indirizzo rivelato da WebRTC | Che cos'è |
|---|
Come leggere il risultato
Fai il test due volte: con la VPN spenta, per vedere com'è la tua connessione, e con la VPN accesa. Con la VPN accesa contano solo gli IP pubblici.
- Nessun IP pubblico, oppure lo stesso IP del server: nessuna perdita. I siti vedono solo l'IP del server VPN.
- Un IP pubblico diverso da quello del server: se è l'IP del tuo operatore (lo vedi sulla pagina Qual è il mio IP a VPN spenta), WebRTC lo sta rivelando ai siti. È una perdita.
- Indirizzi che finiscono in .local o indirizzi privati (192.168…, 10…): non sono una perdita che ti identifica. Il browser li nasconde o li usa solo dentro la rete di casa.
Un caso particolare: se il server vede un indirizzo IPv6 e WebRTC un IPv4, o viceversa, possono essere due facce della stessa connessione. È una perdita solo se quell'indirizzo appartiene al tuo operatore e non al server VPN.
Come funziona il test
Il browser apre una connessione WebRTC fittizia e chiede a un server STUN pubblico di Google (stun:stun.l.google.com:19302) quale indirizzo vede arrivare. È lo stesso meccanismo che usano le videochiamate. Gli indirizzi raccolti restano nella pagina: non li inviamo a noi e non li salviamo. L'unica richiesta al nostro server è quella che legge l'IP visto da noi, per il confronto.
Il test ha un limite: i browser moderni nascondono gli indirizzi della rete locale dietro nomi casuali che finiscono in .local (tecnica mDNS). Quegli indirizzi non li possiamo vedere, e non li vede nemmeno nessun altro sito. Se una rete o la VPN blocca le richieste STUN, il test non mostra IP pubblici: anche questo significa che un sito non li otterrebbe per quella via.
Come chiudere la perdita
La soluzione più solida è usare un'app VPN installata nel sistema invece di un'estensione del browser, perché fa passare nel tunnel tutto il traffico. Se la perdita resta, si limita WebRTC nel browser.
Chrome
Installa WebRTC Network Limiter, l'estensione pubblicata da Google. Nelle opzioni scegli quanto limitare WebRTC: la voce più restrittiva chiude la perdita, ma può disturbare le videochiamate nel browser. Ripeti il test dopo la modifica.
Firefox
Scrivi about:config nella barra degli indirizzi e accetta l'avviso. Cercamedia.peerconnection.ice.default_address_only e impostalo su true: WebRTC userà solo la connessione principale, cioè il tunnel VPN. Se non basta, media.peerconnection.enabled sufalse spegne WebRTC del tutto (e con lui le videochiamate nel browser). Le due impostazioni sono descritte nella documentazione di Mozilla.
Edge
Edge accetta le estensioni del Chrome Web Store: attiva "Consenti estensioni da altri store" nella pagina delle estensioni e installa la stessa WebRTC Network Limiter. Nei computer aziendali l'amministratore può usare il criterio WebRtcLocalhostIpHandling, documentato da Microsoft.
Domande frequenti
Cos'è WebRTC?
È la tecnologia che permette al browser di fare videochiamate e scambiare dati direttamente con un altro dispositivo, senza plugin. Per trovare la strada più breve il browser raccoglie i propri indirizzi di rete, e un sito può leggerli con poche righe di codice.
Perché vedo indirizzi che finiscono in .local?
I browser più diffusi nascondono gli indirizzi della rete di casa dietro un nome casuale che finisce in .local (tecnica mDNS). È una protezione: il sito vede il nome, non l'indirizzo. Non è una perdita.
Un indirizzo come 192.168.1.10 è una perdita?
No, o quasi. È un indirizzo privato: identifica il dispositivo dentro la rete di casa, che usa numeri simili a quelli di milioni di altre reti. Il problema è un IP pubblico, cioè quello che identifica la tua connessione su internet.
Se disattivo WebRTC cosa smette di funzionare?
Le videochiamate e le chiamate fatte direttamente nel browser, e alcuni servizi che scambiano file da un browser all'altro. Le app installate (per esempio quelle per le riunioni) non sono toccate. Per questo conviene prima provare a limitarlo invece di spegnerlo.
Le estensioni VPN del browser proteggono da questa perdita?
Non sempre. Molte estensioni sono proxy che instradano solo le pagine web, mentre WebRTC può passare fuori dal proxy. Un'app VPN installata nel sistema fa passare nel tunnel tutto il traffico, WebRTC compreso: in quel caso il test mostra l'IP del server VPN.
Altri controlli
Per sapere se la VPN cambia davvero il tuo indirizzo usa La mia VPN funziona?; per vedere l'IP che ricevono i siti, Qual è il mio IP.
Fonti
- IETF, RFC 8828: WebRTC IP Address Handling Requirements
- IETF, Using Multicast DNS to protect privacy when exposing ICE candidates
- MDN Web Docs, RTCPeerConnection
- Chrome Web Store, WebRTC Network Limiter (estensione di Google)
- Mozilla Wiki, Media/WebRTC/Privacy
- Microsoft Learn, criteri di Microsoft Edge: WebRtcLocalhostIpHandling
- Supporto Microsoft, aggiungere estensioni in Microsoft Edge