WebRTC-vuodot
WebRTC-vuototesti: mitä selainpuhelu paljastaa IP-osoitteestasi
Osa kokonaisuutta: Onko VoIP-puhelu turvallinen? Mitä selainpuhelu suojaa ja mitä se paljastaa
Lyhyesti
WebRTC-vuototesti listaa jokaisen IP-osoitteen, jonka selaimesi luovuttaa verkkosivulle WebRTC:n kautta, joten huomaat, jos joukossa on osoite, jonka halusit piilottaa, yleensä internetliittymäsi osoite VPN:n ollessa päällä [1]. Selainpuhelu puhelinnumeroon näyttää IP-osoitteesi soittopalvelulle, ei sille, jolle soitat; hän näkee soittajan numeron [2]. Testi on yksi niistä yksityisyys- ja turvallisuustarkistuksista, joita suosittelen ennen selaimella soittamista.
Tärkeimmät faktat
- IETF:n WebRTC-säännöissä todetaan, että jaettua tunnelointia (split tunnel) käyttävä VPN voi antaa WebRTC:n löytää internetpalveluntarjoajasi julkisen osoitteen VPN:n osoitteen lisäksi [1]. Tarkistettu .
- Paikallisessa Chrome 156 -tarkistuksessani sivu ilman mikrofonilupaa näki tietokoneeni vain satunnaisena .local-nimenä; kun mikrofoni oli sallittu, se sai todellisen paikallisen osoitteeni [3][1]. Tarkistettu .
- Messengerin mukaan kahdenkeskiset puhelut jakavat IP-osoitteesi toisen osapuolen laitteelle [4]; WhatsAppin asetus Protect IP address in calls (IP-osoitteen suojaus puheluissa) välittää puhelut sen sijaan WhatsAppin palvelimien kautta [5]. Tarkistettu .
Mikä on WebRTC-vuoto?
Ennen WebRTC-puhelua selain kerää mahdolliset verkkoreitit, niin sanotut ICE-ehdokkaat, ja antaa ne verkkosivulle välitettäviksi toiselle osapuolelle. Jokaisessa on IP-osoite tai piilotetun paikallisen osoitteen tilalla satunnainen .local-nimi. Tavallinen verkkosivusto näkee vain julkisen osoitteen, josta pyyntösi tuli; WebRTC:n kautta sivu voi saada selville enemmän [1]. Vuoto on mikä tahansa listan osoite, jota et aikonut jakaa.
Miten puhelu muuten kulkee, kerron jutussa WebRTC, SIP ja puhelinverkko; vuotojen kannalta merkitsee vain ehdokaslista. MDN huomauttaa, että listan osoitteet näkyvät sivulle aina [6].
| Ehdokastyyppi | Näytettävä osoite | Yksityisyysriski |
|---|---|---|
| host | Laitteesi osoite lähiverkossa tai satunnainen .local-päätteinen nimi, jos selain piilottaa osoitteen [7][3] | Pienempi kuin julkisella osoitteella, mutta IETF:n mukaan yksityiset IPv4-osoitteet tarjoavat varsin merkittävän pinnan sormenjäljen ottamiselle [1] |
| srflx (server reflexive) | Julkinen osoite, jonka reitittimesi tai VPN näyttää STUN-palvelimelle [7] | Suuri, jos se on internetpalveluntarjoajasi osoite VPN:n ollessa päällä [1] |
| relay | Mediaa välittävän TURN-palvelimen osoite [7] | Pieni: toinen osapuoli näkee välityspalvelimen osoitteen, ei sinun [6]; palvelimen ylläpitäjä näkee silti sinut |
IETF pitää VPN-tapausta merkittävimpänä, koska jotkut käyttävät VPN:ää pysyäkseen nimettöminä [1]. Kaksi muuta tapausta ovat yksityinen osoitteesi sekä välityspalvelin (proxy), jonka WebRTC:n tarkistukset ohittavat, jolloin todellinen julkinen osoitteesi paljastuu [1].
Paljastaako selainpuhelu IP-osoitteesi?
Soittopalvelulle kyllä: jokainen verkkosivusto näkee julkisen osoitteesi [1], ja puhelu lisää mediayhteyden palvelun palvelimiin. Henkilölle, jolle soitat lankapuhelimeen tai matkapuhelimeen, ei: puhelu poistuu internetistä palveluntarjoajan yhdyskäytävässä [8], ja puhelinverkko välittää soittajan numeron, ei IP-osoitetta [2]. Sovelluksesta sovellukseen soitetut puhelut voivat yhdistää kaksi laitetta suoraan.
| Puhelutyyppi | Palvelu | Henkilö, jolle soitat |
|---|---|---|
| Selaimesta puhelinnumeroon (Google Voice, TwinPhone, Yolla) | Kyllä: se ylläpitää mediayhteyttä | Ei: hän näkee soittajan numeron [2] |
| Ilmaiset verkkosoittimet (Call2Friends, Globfone) | Kyllä: Call2Friends rajoittaa ilmaisia puheluita IP-osoitetta kohden, ja Globfonen tietosuojakäytäntö mainitsee IP-osoitteet käsittelemiensä teknisten tietojen ja lokien joukossa [9][10] | Ei: hän näkee soittajan numeron |
| Messenger, kahdenkeskinen puhelu | Kyllä | Kyllä: Metan mukaan IP-osoitteesi jaetaan toiselle laitteelle [4] |
| Kyllä | Voi nähdä, ellei IP-osoitteen suojaus puheluissa ole päällä; ryhmäpuhelut kulkevat aina välityspalvelimen kautta [5] | |
| Telegram | Kyllä | Voi nähdä: Telegramin vuoden 2017 tiedotteen mukaan puhelut kulkevat suoraan laitteelta laitteelle aina kun mahdollista [11] |
Oikeisiin numeroihin soitettaessa kysymys on, mitä palvelu saa tietää ja mitä se säilyttää; sen, mitä soitettava näkee, kerron jutussa mikä numero näkyy, kun soitat selaimesta.
Näin teet WebRTC-vuototestin
Vuototestisivu tekee saman kuin soitin ennen puhelua: se avaa WebRTC-yhteyden, kysyy STUN-palvelimelta, minkä julkisen osoitteen se näkee, ja tulostaa jokaisen ehdokkaan sen osoitteen viereen, jonka sivu näkee tavallisen HTTP:n kautta. Tee testi jokaisella selaimella, jolla soitat, ensin VPN pois päältä ja sitten VPN päällä.
- VPN pois päältä: avaa vuototestisivu, kuten BrowserLeaksin WebRTC Leak Test. Ylimmän kohdan ”Your Remote IP” ja kohdan ”Your WebRTC IP” alla olevan ”Public IP Address” -arvon pitäisi täsmätä.
- VPN päällä: lataa sivu uudelleen. Kohdassa ”Your Remote IP” pitäisi nyt näkyä VPN:n osoite.
- Jos WebRTC-osiossa näkyy yhä internetpalveluntarjoajasi osoite, WebRTC kiertää tunnelin [1].
- Paikallinen merkintä, joka päättyy .local, tarkoittaa, että osoite on piilotettu [3]; paljas osoite, joka alkaa 192.168. tai 10., ei ole piilotettu.
- Jos sivu tarjoaa mikrofonitestiä, salli se ja testaa uudelleen: soitin tarvitsee mikrofonin käyttöoikeuden, ja tämä lupa voi avata pääsyn useampiin osoitteisiin [1]. Poista lupa jälkeenpäin sivuston asetuksista [12].
Mikä muuttui Chromessa, kun mikrofoni oli sallittu
Latasin paikallisen testisivun Chrome 156:lla Macilla ilman STUN-palvelinta, joten mitään osoitetta ei lähtenyt ulkopuoliselle palvelimelle. Ilman mikrofonilupaa sivu näki yhden host-ehdokkaan, jonka nimenä oli satunnainen .local-päätteinen merkkijono [3]. Kun mikrofoni oli sallittu, sivu sai todellisen paikallisen IPv4-osoitteeni.
Tämä noudattaa standardia, joka sallii koko osoitelistan vain suostumuksella, kuten mikrofoniluvalla [1]; Safarin moottori WebKit kuvasi saman säännön vuonna 2017 [13]. Sallimasi soitin voi siis nähdä paikallisen osoitteesi, mikä on pienempi riski kuin julkisen osoitteen paljastuminen [1].
Selainasetukset, jotka rajoittavat WebRTC-vuotoja
Brave dokumentoi WebRTC:n IP-asetuksen käyttäjille. Google dokumentoi Chromen säätimet laajennuksille ja järjestelmänvalvojille, ja Microsoft dokumentoi Edgen säädön järjestelmänvalvojan käytäntönä. Firefox piilottaa paikalliset osoitteet oletuksena, ja about:config-sivulla on katkaisin, jolla WebRTC:n saa pois. Yksi sääntö pätee kaikkialla: WebRTC:n poistaminen käytöstä pysäyttää myös selainsoittimet, koska puhelu kulkee WebRTC:n varassa [14].
| Selain | Säädin | Mitä se muuttaa | Vaikutus selainpuheluihin |
|---|---|---|---|
| Brave | WebRTC IP handling policy -asetus yksityisyysasetuksissa Braven wikin mukaan (viimeksi muokattu 2018) [15] | Vaihtoehto Default Public Interface Only ei paljasta paikallisia osoitteita [15] | Media voi siirtyä kulkemaan välityspalvelimen kautta [1] |
| Chrome | Laajennukset voivat asettaa WebRTC:n IP-käsittelykäytännön [16]; järjestelmänvalvojat voivat asettaa WebRtcIPHandling-käytännön [17] | Arvosta riippuen lopettaa yksityisten osoitteiden käytön tai lähettää median vain välityspalvelimen kautta [17] | Pelkkää välityspalvelinta käyttävät arvot voivat siirtää äänen TCP:lle, mikä IETF:n mukaan heikentää laatua [1] |
| Edge | Järjestelmänvalvojan käytäntö WebRtcLocalhostIpHandling [18] | Kaksi sen arvoista lopettaa paikallisen IP-osoitteen paljastamisen [18] | Kuten Chromessa |
| Firefox | Paikalliset osoitteet piilotettu oletuksena [19]; media.peerconnection.enabled about:config-sivulla [20] | Kun asetuksen arvoksi vaihtaa false, WebRTC poistuu käytöstä | Selainsoittimet lakkaavat toimimasta |
| Safari | Sisäänrakennettu sääntö | Sivut ilman mikrofonin tai kameran käyttöoikeutta eivät saa host-osoitteita, kuten WebKit kuvasi vuonna 2017 [13] | Ei vaikutusta |
Mitä VPN muuttaa selainpuheluissa
VPN, joka ohjaa kaiken liikenteen tunnelinsa kautta, myös WebRTC:n, näyttää soittopalvelulle VPN:n osoitteen omasi sijaan. Jaettua tunnelointia käyttävä VPN voi lisäksi antaa WebRTC:n löytää internetpalveluntarjoajasi osoitteen [1], ja siksi vuototesti tehdään VPN päällä. VPN:llä on soittamiseen myös sivuvaikutuksia.
- Jotkin palvelut rajoittavat VPN:iä: TextNow’n käyttöehtojen mukaan se voi rajoittaa niiden käyttöä [21].
- Jotkin ilmaiset soittimet säännöstelevät ilmaisia puheluita IP-osoitteen mukaan, kuten Call2Friends [9], joten VPN:n kautta saatat jakaa kiintiön saman ulostulo-osoitteen muiden käyttäjien kanssa.
- Jos media pakotetaan kulkemaan välityspalvelimen kautta, joka ei välitä UDP:tä, ääni siirtyy TCP:lle, mikä IETF:n mukaan heikentää median laatua [1].
- Palvelu näkee silti tilisi ja puhelutietosi; esimerkiksi Google voi tallentaa puheluiden numerot, ajankohdan ja keston [22].
Näin pidät IP-osoitteesi yksityisenä puheluissa
Valitse keino puhelun mukaan. Puhelinnumeroihin soitettaessa vastaanottaja ei saa IP-osoitettasi, joten valitse palvelu, jolle uskallat sen antaa, ja tarkista VPN:si. Sovelluksesta sovellukseen soitetuissa puheluissa toinen laite voi muodostaa yhteyden suoraan omaasi, joten käytä sovelluksen välitysasetusta, jos sellainen on.
- Selainpuhelut: tee vuototesti VPN päällä; valitse Bravessa Default Public Interface Only [15].
- Mikrofoni: anna lupa kertakäyttöisille soittimille valinnalla ”Salli tämän kerran” [12]; Chrome-tarkistuksessani sivu, jolla oli tämä lupa, näki paikallisen osoitteen.
- WhatsApp: ota käyttöön IP-osoitteen suojaus puheluissa. Ohjesivu kattaa Androidin, iOS:n ja Macin, ei verkkoversiota, ja varoittaa, että palvelimen kautta välitettyjen puheluiden laatu voi hieman heikentyä [5].
Usein kysytyt kysymykset
Mikä on WebRTC-vuototesti?
WebRTC-vuototesti on verkkosivu, joka suorittaa saman yhteydenmuodostuksen kuin selainpuhelu ja listaa jokaisen selaimesi tarjoaman IP-osoitteen sen osoitteen viereen, jonka sivu näkee tavallisen HTTP:n kautta. Jos listassa näkyy internetpalveluntarjoajasi osoite VPN:n ollessa päällä, WebRTC kiertää tunnelin [1]; satunnainen .local-nimi tarkoittaa, että paikallinen osoitteesi on piilotettu [3].
Näkeekö henkilö, jolle soitan selaimesta, IP-osoitteeni?
Ei, kun soitat lankapuhelimeen tai matkapuhelimeen. Palveluntarjoaja muuttaa selaimesi äänen puhelinpuheluksi yhdyskäytävässään [23], ja puhelinverkko välittää soittajan numeron, ei IP-osoitetta [2]. Sovelluksesta sovellukseen soitetut puhelut ovat eri asia: Messengerin mukaan kahdenkeskiset puhelut jakavat IP-osoitteesi toisen osapuolen laitteelle [4].
Estääkö VPN WebRTC-vuodot?
VPN, joka ohjaa kaiken liikenteen tunnelinsa kautta, myös WebRTC:n, estää. Jaettua tunnelointia käyttävä VPN ei välttämättä estä, koska WebRTC voi löytää internetpalveluntarjoajasi julkisen osoitteen VPN:n osoitteen rinnalta [1]. Ainoa tapa tietää on tehdä vuototesti VPN yhdistettynä jokaisella käyttämälläsi selaimella ja toistaa se päivitysten jälkeen.
Onko paikallisen IP-osoitteen vuotaminen vaarallista?
Vähemmän kuin julkisen osoitteen vuotaminen. Yksityinen osoite, kuten 192.168.1.20, ei kerro, missä olet, mutta IETF:n mukaan yksityiset IPv4-osoitteet tarjoavat varsin merkittävän pinnan sormenjäljen ottamiselle, ja niiden avulla saman laitteen tavalliset ja yksityiset selausistunnot voidaan yhdistää [1]. Firefox piilottaa paikalliset osoitteet oletuksena [19], Safari piilottaa ne sivuilta, joilla ei ole mikrofonin tai kameran käyttöoikeutta [13], ja niin teki myös Chrome tarkistuksessani.
Estääkö incognito- tai yksityinen selaustila WebRTC-vuodot?
Ei. IETF huomauttaa, että WebRTC:n kautta paljastuva yksityinen osoite voi toimia tunnisteena, josta sivusto päättelee tavallisen ikkunan ja yksityisen selausikkunan olevan samalla laitteella [1], joten yksityinen tila ei yksinään piilota osoitetta. Käytä yllä mainittuja selainasetuksia ja tee vuototesti myös yksityisessä ikkunassa.
Toimivatko WebRTC-vuotoja estävät laajennukset?
Osittain. Chromessa laajennus voi asettaa selaimen WebRTC:n IP-käsittelykäytännön, jonka Google kuvaa kompromissiksi median suorituskyvyn ja paljastuvan paikallisen osoitetiedon määrän välillä [16]. Arvosta riippuen käytäntö piilottaa paikalliset osoitteet tai pakottaa median välityspalvelimen kautta, mikä voi siirtää äänen TCP:lle ja heikentää laatua [1]. Tee vuototesti laajennuksen asentamisen jälkeen, niin näet, muuttuiko jotain.
Miten poistan WebRTC:n käytöstä Firefoxissa?
Kirjoita osoiteriville about:config, hae media.peerconnection.enabled ja aseta sen arvoksi false. Mozillan lähdekoodi kuvaa asetuksen RTCPeerConnectionin kytkimeksi, ja sen poistaminen käytöstä vie sivuilta myös pääsyn mikrofonirajapintaan [20]. Kaikki selainsoittimet lakkaavat silloin toimimasta, joten useimmille soittajille on parempi Firefoxin oletus, joka jo piilottaa paikalliset osoitteet [19].
Miten estän WebRTC-vuodot Chromessa?
Laajennuksella tai käytännöllä, sillä Google dokumentoi Chromen WebRTC-osoiteasetukset vain näille kahdelle. Laajennus voi asettaa WebRTC:n IP-osoitteiden käsittelykäytännön [16], ja ylläpitäjä voi asettaa WebRtcIPHandling-käytännön, jonka arvo default_public_interface_only estää WebRTC:tä käyttämästä yksityisiä osoitteita [17]. Kun tarkistin Chromen, sivu ilman mikrofonilupaa näki jo valmiiksi vain satunnaisen .local-nimen [3]. VPN:n kanssa varsinainen korjaus on tunneli, joka kuljettaa kaiken liikenteen [1]. Kaikki, mikä estää WebRTC:n kokonaan, pysäyttää myös selainpuhelut [14].
Näkeekö verkkosivusto IP-osoitteeni WebRTC:n kautta kysymättä?
Julkisen osoitteesi kyllä, mutta sen sivustot näkevät muutenkin: esimerkiksi Safari antaa sivuille, joilla ei ole mikrofonin käyttöoikeutta, vain osoitteita, jotka sivusto voisi kerätä joka tapauksessa [13]. Ongelma on selaimen välityspalvelin. Jos suora nettiyhteys on sallittu, WebRTC:n STUN-tarkistukset voivat ohittaa välityspalvelimen ja paljastaa todellisen julkisen osoitteesi [1]. Paikalliset osoitteet on suojattu paremmin: standardi sitoo koko luettelon suostumukseen, kuten mikrofonilupaan [1], ja kun tarkistin Chromen, sivu ilman tätä lupaa näki vain satunnaisen .local-nimen [3].
Kysy tekoälyltä tästä selvityksestä
Jokainen painike avaa avustajan uudessa välilehdessä ja pyytää sitä tiivistämään tämän sivun ja linkittämään siihen lähteenä.
Lähteet
- RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · tarkistettu 1. marraskuuta 2026
- 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · tarkistettu 1. marraskuuta 2026
- Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · tarkistettu 1. marraskuuta 2026
- Voice call someone or a group on Messenger - Messenger Help Center (Computer) · tarkistettu 1. marraskuuta 2026
- How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · tarkistettu 1. marraskuuta 2026
- RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · tarkistettu 1. marraskuuta 2026
- RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · tarkistettu 1. marraskuuta 2026
- Make calls | Sonetel help · tarkistettu 1. marraskuuta 2026
- Free call | Call2Friends - Online call · tarkistettu 1. marraskuuta 2026
- Privacy Policy | Globfone · tarkistettu 1. marraskuuta 2026
- Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · tarkistettu 1. marraskuuta 2026
- Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · tarkistettu 1. marraskuuta 2026
- A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · tarkistettu 1. marraskuuta 2026
- WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · tarkistettu 1. marraskuuta 2026
- WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · tarkistettu 1. marraskuuta 2026
- chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · tarkistettu 1. marraskuuta 2026
- Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · tarkistettu 1. marraskuuta 2026
- Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · tarkistettu 1. marraskuuta 2026
- Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · tarkistettu 1. marraskuuta 2026
- Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · tarkistettu 1. marraskuuta 2026
- Terms of Use – TextNow · tarkistettu 1. marraskuuta 2026
- Privacy Policy – Privacy & Terms – Google · Google · tarkistettu 1. marraskuuta 2026
- Call From Your Browser Without a SIM Card - TwinPhone · tarkistettu 1. marraskuuta 2026