Kada tunel živi na usmjerivaču, računalo koje pokreće preglednik uopće nema sučelje tunela. Pitajte to računalo za lokalne adrese i dobit ćete privatnu LAN adresu i povratnu adresu, ništa što podsjeća na VPN adresu. Ipak, STUN poslužitelj s druge strane još uvijek može prijaviti nešto smisleno o putu, a ono što prijavljuje u potpunosti ovisi o tome kako je taj zahtjev usmjeren i preveden.

To je dio zbog kojeg se vrijedi zaustaviti. „Preglednik ne posjeduje VPN adresu“ odgovara na pitanje o sučeljima, dok je odražena adresa odgovor o putu kroz prijevod. Stapanje to dvoje daje sigurne zaključke o razotkrivanju koje dokazi ne podupiru.

Dva uređaja, dva skupa sučelja

U postavu s usmjerivačem tunel završava na usmjerivaču, a LAN klijent šalje običan promet svom zadanom pristupniku. Popis sučelja klijenta ostaje kratak: jedna privatna adresa, možda druga za drugu mrežu, i povratna adresa. Rizik nije u tome da je jedna od njih slučajno adresa tunela; rizik je u tome da zahtjev izlazi putem koji niste odabrali.

Pitajte klijenta koji bi put odredište zauzelo umjesto da pitate koja sučelja postoje. Odgovor imenuje pristupnik i izvornu adresu koju bi jezgra upotrijebila, što je već informativnije od bilo kojeg popisa adresa.

ip route get 198.51.100.20
ip -6 route get 2001:db8::20
wg show wg0 allowed-ips

Dokumentacijski rasponi dobri su ciljevi za testiranje jer se nikada ne razrješavaju u stvarnu uslugu. Usporedite što kaže klijent s onim što kaže usmjerivač i svako neslaganje tretirajte kao dokaz da političko usmjeravanje, pravilo podijeljenog tunela ili druga zadana ruta radi nešto što niste uzeli u obzir.

Što odgovor Binding smije reći

RFC 8489 definira Binding zahtjev i odgovor, pri čemu poslužitelj prijavljuje izvornu transportnu adresu koju je primijetio za taj zahtjev. To je tvrdnja o jednoj petorki u jednom trenutku, a ne popis klijentovih sučelja. Zato se sve zanimljivo događa između klijenta i točke promatranja.

Tu prazninu popunjavaju usmjeravanje i prijevod. Usmjerivač koji izlazni promet prevodi izvornim NAT-om zamjenjuje klijentov privatni izvor vlastitom adresom na izlaznom sučelju. Ako je to sučelje tunel, reflektor vidi adresu tunela. Ako je paket izuzet od tunela, reflektor vidi ono što je proizveo WAN prijevod. Isti klijent, isti reflektor, različit odgovor.

Tri slučaja koja izgledaju isto i nisu

Korisna razlika nije javno nasuprot privatno, nego koja je točka provedbe obradila paket. Prođite kroz slučajeve s otvorenim usmjerivačevim tablicama jer jedan preglednik može proizvesti sva tri ovisno o pravilu koje ste zaboravili da ste napisali.

Where the request leavesWhat rewrites the sourceWhat the reflector reports
Tunnel interface on the routerRouter NAT towards the tunnel addressThe tunnel address as seen on that path
WAN interface, excluded by policyOrdinary WAN translationThe public WAN address
Private reflector reached through the tunnel routeRouter NAT towards the tunnel addressAn internal identifier valid only inside that path

Samo drugi slučaj krši zahtjev da neki promet nikada ne izlazi izravno, a samo prvi i treći otkrivaju identifikator s tunelske strane. Nijedan od tri retka nije tvrdnja o ponašanju određenog pružatelja usluga: je li privatni reflektor uopće dostupan ovisi o usmjeravanju, dopuštenim IP adresama druge strane i politici vatrozida na oba kraja.

Posjedovanje računa kod istog pružatelja ne dokazuje ništa od toga. Vrijedi zapamtiti i to da usmjereni zahtjev može zadržati LAN izvor klijenta ako ga ništa ne prevodi, pa izvorno polje treba pratiti, a ne pretpostavljati iz dijagrama topologije.

Prikupljanje nije odabir

WebRTC prikuplja kandidatne adrese za isprobavanje, a kandidat koji se pojavi na dijagnostičkom popisu možda nikada ne ponese medij. Čitanje popisa kao „to je ono što je druga strana naučila“ preuveličava dokaze. Odabrani par je ono što je stvarno nosilo sesiju i nalazi se u drugom polju.

HTTPS provjera izlaza odgovara na još jedno pitanje: izvornu adresu koju je web poslužitelj vidio za taj zahtjev. Korisna je unakrsna provjera upravo zato što rabi drugi protokol i često drugo odredište od UDP reflektora, a neslaganje među njima obično upućuje na pravilo usmjeravanja, a ne na grešku.

Odredite politiku, zatim pročitajte odgovor

Zapišite namjeru prije testiranja: koji promet mora koristiti tunel, koji smije izlaziti izravno, koje su obitelji adresa u opsegu i što se treba dogoditi kada je tunel neaktivan. Bez te osnovne crte svako je promatranje dvosmisleno, jer ne možete odvojiti curenje od puta koji ste namjerno dopustili.

Zatim postavljajte jedno pitanje odjednom. Koji put ovo odredište zauzima. Koju adresu prijavljuje ovaj reflektor. Koji je kandidatni par sesija odabrala. Držite odgovore uz politiku i datirajte ih, jer ažuriranje firmvera može promijeniti zadano ponašanje na načine koji tiho poništavaju prošlogodišnji zaključak.

Usmjerivač je i dalje jaka točka provedbe, jer vidi promet koji klijent ne može zaobići bez ponovnog konfiguriranja samog klijenta. To nije obećanje da svako polje u svakom aplikacijskom protokolu ništa ne otkriva i nije zamjena za zapisivanje putova koje ste odlučili dopustiti.

Povezani članci