Šta lista WebRTC kandidata otkriva o vašem VPN-u
Kandidat host, serverski refleksivni ili relay kandidat govori odakle dolazi adresa. Samo odabrani ICE par govori kojim je putem medij zapravo išao.
Kada WebRTC testna stranica ispiše 172.20.4.15, saznala je da na toj mreži postoji lokalni interfejs. To je stvarno otkriće i nije isti nalaz kao „medij je izašao kroz VPN izlaz“. Otkrivanje kandidata i rutiranje paketa su odvojeni mehanizmi, a većina izveštaja o curenju ih spaja u jednu presudu. Koji od njih gledate odlučuje popravku.
Prikupljanje ide pre nego što se bilo šta pošalje
Pregledač nabraja lokalne interfejse, šalje zahtev za povezivanje STUN serveru i traži alokaciju od TURN servera, a zatim rezultate upisuje u opis sesije kao linije kandidata. Sve to završava bez poziva, bez medija i bez sagovornika. Lista kandidata je zato zapis otkrivanja, a ne prenosa.
Moderni pregledači mogu zameniti doslovnu adresu host kandidata mDNS imenom .local, pa stranica ne može pročitati privatni IP. Lokalna mreža ipak vidi multicast upite koji razrešuju to ime, dakle adresa je skrivena od aplikacije, a ne uklonjena sa mreže.
Redosled je takođe važan: novo učitavanje stranice prikuplja novi skup, uz drugu TURN alokaciju i moguće drugačije refleksivno mapiranje. Dva pokretanja koja se razlikuju nisu nužno dve različite konfiguracije.
Tri tipa kandidata, tri vrste dokaza
Svaka linija proizlazi iz drugog opažanja. Svaki tip odgovara na drugo pitanje, a tabela ih razdvaja po tome što mogu i što ne mogu utvrditi.
| Candidate | Derived from | What it establishes | What it cannot establish |
|---|---|---|---|
| Host | An interface on the device | A local address exists in that network | That the peer can reach it |
| Server-reflexive | A STUN binding response | How a NAT mapped this source | Which exit the media will use |
| Peer-reflexive | A connectivity check that arrived | An address seen by the far side | That it was ever advertised |
| Relay | A TURN allocation | The relay server accepted the session | That the relay carries the call |
Relay kandidat se rutinski zamenjuje s korisnikovom internet adresom. On pripada TURN serveru, a njegovo prisustvo pokazuje da je relay bio dostupan, ne da ga je pregledač odabrao. Ista zabuna ide i u suprotnom smeru kod host kandidata, gde mDNS ime skriva adresu od stranice dok mreža još nosi upite. Pročitajte tip pre nego pročitate vrednost.
Odabrani par odgovara na pitanje rutiranja
ICE spaja svakog lokalnog kandidata sa svakim udaljenim, izvodi provere povezanosti na svakom paru i nominira pobednika. Taj nominovani par, vidljiv u dijagnostici samog pregledača, nosi medij. Sve ostalo na listi je mogućnost koja je izgubila.
Pobednik vam govori oblik puta. Relay prema relay prolazi kroz TURN server, host par ostaje na lokalnoj mreži, a serverski refleksivni par ide direktno kroz NAT. To je činjenica koja treba VPN proveri i ona je različita od liste adresa. Dva poziva sa identičnim listama kandidata mogu izabrati različite parove.
Neodabrani kandidati su ipak prikupljeni, a prikupljanje je mrežni saobraćaj koji napušta mašinu. Poziv koji je na kraju koristio relay ne znači da ništa nije otkriveno dok je lista građena.
Kontrole odgovaraju ciljevima, ne oceni curenja
WebRTC specifikacija za rukovanje IP-om opisuje nekoliko politika: korišćenje samo interfejsa koji nosi podrazumevanu rutu, korišćenje svih interfejsa i isključivanje neproksiranog UDP-a tako da saobraćaj mora ići kroz relay ili proxy. Svaka razmenjuje povezanost i latenciju za drugu vrstu izloženosti. Koju politiku pregledač sprovodi i pod kojim imenom zavisi od platforme i verzije.
Odaberite politiku prema cilju. Skrivanje lokalnih adresa od stranice je jedan cilj; sprečavanje direktnog saobraćaja između ravnopravnih računara je drugi; držanje svakog paketa unutar tunela je treći. Prvi se uglavnom tiče onoga što aplikacija sazna, drugi toga koji je put dozvoljen, a treći se mora nametnuti i na granici platforme ili VPN-a.
Koju god kontrolu odabrali, proverite obe polovine: pokrenite test prikupljanja i zabeležite tipove kandidata, pa pregledajte odabrani par tokom stvarne sesije. Čista lista adresa sa direktnim medijskim putem i dalje je put koji niste nameravali.