Når en WebRTC-testsiden skriver ut 172.20.4.15, har den fått vite at det finnes et lokalt grensesnitt på det nettverket. Det er en reell avsløring, og det er ikke samme funn som «mediet forlot gjennom VPN-utgangen». Kandidatoppdagelse og pakkeruting er separate mekanismer, og de fleste lekkasjerapporter smelter dem sammen til én dom. Hvilken av dem du ser på, avgjør løsningen.

Innsamlingen skjer før noe sendes

Nettleseren lister opp lokale grensesnitt, sender en bindingsforespørsel til en STUN-server og ber en TURN-server om en tildeling, og skriver deretter resultatene inn i sesjonsbeskrivelsen som kandidatlinjer. Alt dette fullføres uten anrop, uten medie og uten motpart. En kandidatliste er derfor en registrering av oppdagelse, ikke av transport.

Moderne nettlesere kan erstatte den bokstavelige adressen til en vertskandidat med et mDNS-navn .local, slik at siden ikke kan lese den private IP-en. Det lokale nettverket ser fortsatt multicast-forespørslene som løser opp navnet, så adressen skjules for applikasjonen i stedet for å fjernes fra nettet.

Rekkefølgen betyr også noe: en ny sideinnlasting samler et nytt sett, med en annen TURN-tildeling og muligens en annen refleksiv kartlegging. To kjøringer som er uenige er ikke nødvendigvis to ulike konfigurasjoner.

Tre kandidattyper, tre slags bevis

Hver linje stammer fra en annen observasjon. Hver type svarer på et annet spørsmål, og tabellen skiller dem etter hva de kan og ikke kan fastslå.

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

En relay-kandidat blir rutinemessig forvekslet med brukerens internettadresse. Den tilhører TURN-serveren, og tilstedeværelsen viser at en relay var tilgjengelig, ikke at nettleseren valgte den. Den samme forvekslingen går den andre veien med vertskandidater, der et mDNS-navn skjuler adressen for siden mens nettverket fortsatt bærer forespørslene. Les typen før du leser verdien.

Det valgte paret svarer på rutingspørsmålet

ICE parer hver lokal kandidat med hver ekstern, kjører tilkoblingskontroller på hvert par og nominerer en vinner. Det nominerte paret, synlig i nettleserens egen diagnostikk, bærer mediet. Alt annet på listen er en mulighet som tapte.

Vinneren forteller deg formen på veien. Relay til relay går gjennom TURN-serveren, et vertspar blir på det lokale nettverket, og et serverrefleksivt par går direkte gjennom NAT. Det er det faktumet en VPN-kontroll trenger, og det er et annet faktum enn adresselisten. To anrop med identiske kandidatlister kan ta ulike par.

Ikke-valgte kandidater ble likevel samlet inn, og innsamling er nettverkstrafikk som forlater maskinen. Et anrop som til slutt brukte relayen betyr ikke at ingenting ble avslørt mens listen ble bygget.

Kontroller svarer til mål, ikke til en lekkasjepoengsum

WebRTC-spesifikasjonen for IP-håndtering beskriver flere retningslinjer: å bruke bare grensesnittet som bærer standardruten, å bruke alle grensesnitt, og å slå av UDP uten proxy slik at trafikken må gå gjennom en relay eller proxy. Hver av dem bytter tilkobling og ventetid mot en annen type eksponering. Hvilken en nettleser implementerer, og under hvilket navn, varierer etter plattform og versjon.

Velg retningslinjen ut fra målet. Å skjule lokale adresser for en side er ett mål; å hindre direkte peer-to-peer-trafikk er et annet; å holde hver pakke inne i tunnelen er et tredje. Det første handler mest om hva applikasjonen lærer, det andre om hvilken vei som er tillatt, og det tredje må også håndheves ved plattform- eller VPN-grensen.

Uansett hvilken kontroll du velger, verifiser begge halvdeler: kjør innsamlingstesten og noter kandidattypene, og undersøk deretter det valgte paret under en ekte sesjon. En ren adresseliste med en direkte medievei er fortsatt en vei du ikke hadde tenkt deg.

Relaterte artikler