Ko testna stran WebRTC natisne 172.20.4.15, je izvedela, da v tem omrežju obstaja lokalni vmesnik. To je resnično razkritje in ni enaka ugotovitev kot «mediji so odšli skozi izhod VPN». Odkrivanje kandidatov in usmerjanje paketov sta ločena mehanizma, in večina poročil o uhajanju ju združi v eno sodbo. Katero od obeh gledate, odloča o popravku.

Zbiranje poteka, preden je karkoli poslano

Brskalnik našteje lokalne vmesnike, pošlje zahtevo za vezavo strežniku STUN in zaprosi strežnik TURN za dodelitev, nato rezultate zapiše v opis seje kot vrstice kandidatov. Vse to se zaključi brez klica, brez medijev in brez sogovornika. Seznam kandidatov je torej zapis odkrivanja, ne prenosa.

Sodobni brskalniki lahko dobesedni naslov kandidata gostitelja nadomestijo z imenom mDNS .local, tako da stran ne more prebrati zasebnega IP. Lokalno omrežje še vedno vidi multicastna povpraševanja, ki to ime razrešijo, torej je naslov skrit aplikaciji, ne odstranjen iz omrežja.

Tudi vrstni red je pomemben: novo nalaganje strani zbere novo množico, z drugo dodelitvijo TURN in morda drugačnim odsevnim preslikavanjem. Dva različna zagona nista nujno dve različni konfiguraciji.

Tri vrste kandidatov, tri vrste dokazov

Vsaka vrstica izhaja iz drugega opažanja. Vsaka vrsta odgovarja na drugo vprašanje, tabela pa jih ločuje po tem, kaj lahko in česa ne morejo ugotoviti.

CandidateDerived fromWhat it establishesWhat it cannot establish
HostAn interface on the deviceA local address exists in that networkThat the peer can reach it
Server-reflexiveA STUN binding responseHow a NAT mapped this sourceWhich exit the media will use
Peer-reflexiveA connectivity check that arrivedAn address seen by the far sideThat it was ever advertised
RelayA TURN allocationThe relay server accepted the sessionThat the relay carries the call

Kandidat relay se pogosto zamenjuje z internetnim naslovom uporabnika. Pripada strežniku TURN, in njegova prisotnost kaže, da je bil relay na voljo, ne da ga je brskalnik izbral. Ista zmeda gre v nasprotno smer pri kandidatih gostitelja, kjer ime mDNS skrije naslov pred stranjo, medtem ko omrežje še vedno prenaša povpraševanja. Preberite vrsto, preden preberete vrednost.

Izbrani par odgovarja na vprašanje usmerjanja

ICE združi vsakega lokalnega kandidata z vsakim oddaljenim, izvede preverjanja povezljivosti na vsakem paru in imenuje zmagovalca. Ta imenovani par, viden v diagnostiki samega brskalnika, prenaša medije. Vse ostalo na seznamu je možnost, ki je izgubila.

Zmagovalec vam pove obliko poti. Relay do relay gre skozi strežnik TURN, par gostiteljev ostane v lokalnem omrežju, strežniško odsevni par pa gre neposredno skozi NAT. To je dejstvo, ki ga kontrola VPN potrebuje, in je drugačno dejstvo od seznama naslovov. Dva klica z enakimi seznami kandidatov lahko uporabita različna para.

Neizbrani kandidati so bili vseeno zbrani, zbiranje pa je omrežni promet, ki zapusti napravo. Klic, ki je na koncu uporabil relay, ne pomeni, da med gradnjo seznama ni bilo nič razkrito.

Kontrole ustrezajo ciljem, ne oceni uhajanja

Specifikacija WebRTC za ravnanje z IP opisuje več pravil: uporabljati samo vmesnik, ki nosi privzeto pot, uporabljati vse vmesnike in onemogočiti UDP brez posrednika, da mora promet iti skozi relay ali posrednika. Vsako zamenja povezljivost in zakasnitev za drugačno vrsto izpostavljenosti. Katero brskalnik izvaja in pod katerim imenom, se razlikuje glede na platformo in različico.

Pravilo izberite glede na cilj. Skrivanje lokalnih naslovov pred stranjo je en cilj; preprečevanje neposrednega prometa med enakovrednimi vozlišči je drugi; zadrževanje vsakega paketa v tunelu je tretji. Prvi se ukvarja predvsem s tem, kaj izve aplikacija, drugi s tem, katera pot je dovoljena, tretjega pa je treba uveljaviti tudi na meji platforme ali VPN.

Ne glede na izbrano kontrolo preverite obe polovici: zaženite test zbiranja in zabeležite vrste kandidatov, nato med resnično sejo pregledajte izbrani par. Čist seznam naslovov z neposredno medijsko potjo je še vedno pot, ki si je niste zamislili.

Sorodni članki