Mit árul el a WebRTC jelöltlista a VPN-edről
A gazda, kiszolgáló-fényvisszaverő vagy relay jelölt megmondja, honnan származik egy cím. Csak a kiválasztott ICE pár mondja meg, melyik útvonalat használta a média valójában.
Amikor egy WebRTC-tesztoldal 172.20.4.15 értéket ír ki, megtudta, hogy azon a hálózaton létezik helyi interfész. Ez valódi felfedés, és nem ugyanaz a megállapítás, mint hogy „a média a VPN-kimeneten keresztül távozott”. A jelöltfeltárás és a csomagirányítás külön mechanizmusok, a legtöbb szivárgási jelentés mégis egyetlen ítéletbe vonja őket. Hogy melyiket nézi, az dönti el a megoldást.
A gyűjtés minden elküldés előtt lezajlik
A böngésző felsorolja a helyi interfészeket, kötési kérelmet küld egy STUN-kiszolgálónak, és foglalást kér egy TURN-kiszolgálótól, majd az eredményeket jelölt sorként beírja a munkamenet-leírásba. Mindez hívás, média és partner nélkül fejeződik be. A jelöltlista tehát a feltárás nyilvántartása, nem az átvitelé.
A modern böngészők a gazdajelölt szó szerinti címét mDNS-névvel .local helyettesíthetik, így az oldal nem tudja kiolvasni a privát IP-t. A helyi hálózat továbbra is látja azokat a multicast-kérdéseket, amelyek feloldják ezt a nevet, tehát a cím az alkalmazás elől rejtett, nem pedig eltávolított a hálózatról.
A sorrend is számít: egy új oldalbetöltés új készletet gyűjt, más TURN-foglalással és esetleg más fényvisszaverő leképezéssel. Két eltérő futás nem feltétlenül két különböző konfiguráció.
Három jelölttípus, háromféle bizonyíték
Minden sor más megfigyelésből származik. Minden típus más kérdésre válaszol, a táblázat pedig aszerint választja szét őket, hogy mit tudnak és mit nem tudnak megállapítani.
| 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 |
A relay jelöltet rendszeresen összetévesztik a felhasználó internetcímével. A TURN-kiszolgálóhoz tartozik, és a jelenléte azt mutatja, hogy elérhető volt egy relay, nem azt, hogy a böngésző azt választotta. Ugyanez a tévedés ellenkező irányban működik a gazdajelölteknél, ahol az mDNS-név elrejti a címet az oldal elől, miközben a hálózat továbbra is szállítja a kérdéseket. Olvassa el a típust, mielőtt az értéket olvassa.
A kiválasztott pár válaszol az irányítási kérdésre
Az ICE minden helyi jelöltet minden távoli jelölttel párosít, minden páron kapcsolódásvizsgálatot futtat, és kijelöl egy győztest. Az a kijelölt pár, amely a böngésző saját diagnosztikájában látható, szállítja a médiát. A lista minden más eleme egy vesztes lehetőség.
A győztes megmondja az útvonal alakját. A relay–relay a TURN-kiszolgálón keresztül megy, a gazdapár a helyi hálózaton marad, a kiszolgáló-fényvisszaverő pár pedig közvetlenül NAT-on keresztül halad. Ez az a tény, amelyre egy VPN-ellenőrzésnek szüksége van, és más tény, mint a címlista. Két hívás azonos jelöltlistával különböző párokat vehet igénybe.
A nem kiválasztott jelölteket is begyűjtötték, a gyűjtés pedig olyan hálózati forgalom, amely elhagyja a gépet. Egy hívás, amely végül a relayt használta, nem jelenti azt, hogy a lista építése közben semmi nem derült ki.
A vezérlők célokhoz, nem szivárgási pontszámhoz igazodnak
A WebRTC IP-kezelési specifikációja több szabályzatot ír le: csak az alapértelmezett útvonalat vivő interfész használatát, az összes interfész használatát, valamint a proxy nélküli UDP kikapcsolását, hogy a forgalomnak relayen vagy proxyn keresztül kelljen mennie. Mindegyik kapcsolódást és késleltetést vált másfajta kitettségre. Hogy melyiket valósítja meg egy böngésző, és milyen néven, platformonként és verzióként változik.
A szabályzatot a cél szerint válassza. A helyi címek elrejtése az oldal elől az egyik cél; a közvetlen partnerközi forgalom megakadályozása egy másik; minden csomag alagúton belül tartása a harmadik. Az első főleg arról szól, mit tud meg az alkalmazás, a második arról, melyik útvonal engedélyezett, a harmadikat pedig a platform vagy a VPN határán is érvényesíteni kell.
Bármelyik vezérlőt választja, mindkét felét ellenőrizze: futtassa le a gyűjtési tesztet, és jegyezze fel a jelölttípusokat, majd egy valódi munkamenet alatt vizsgálja meg a kiválasztott párt. A tiszta címlista közvetlen médiaútvonallal továbbra is olyan útvonal, amelyet nem szándékozott.