Trije opazovalci se združijo v eno vprašanje vsakič, ko se nekdo vpraša, ali VPN skriva njegov promet: omrežje, na katero je priključen, stroj v njegovih rokah in operater tunela. Vsak izve nekaj drugega, tunel pa vsak od teh pogledov spremeni drugače. Koristno je delati v nasprotni smeri in začeti pri trditvi, ki se postavlja, ker mora prav trditev prestati preverjanje. Odločite se, katero trditev potrebujete, in nato z njo primerjajte orodja.

Prva trditev: nihče ne more prebrati prometa

Začnite z najožjo trditvijo: tovor ostane neberljiv. Pasivni opazovalec na poti ne vidi v sejo TLS, zato tunel doda malo spletnemu mestu, ki že uporablja HTTPS, proti obema koncema pa ne doda ničesar. Trditev prebije tisti, ki nadzoruje napravo, ker preiskovalni posrednik konča povezavo in jo znova podpiše s korenom, ki mu stroj že zaupa. Zato se ključavnica še vedno prikaže, medtem ko veriga potrdil nosi ime organizacije, ki je koren namestila.

security find-certificate -a -p /Library/Keychains/System.keychain | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs | grep subject
certutil -store Root

V macOS ta cevovod izpiše eno vrstico subjekta za vsako potrdilo v ključavnici stroja, ne da bi odprl okno, v Windows pa certutil -store Root izpiše isto shrambo, ki jo certlm.msc prikaže grafično. Koren, ki pripada šoli, delodajalcu ali izdelku za omrežno varnost, je zapis, ki ga je treba iskati. Najti enega dokaže le, da je prestrezanje mogoče, ne da se dogaja.

Kaj lahko storite glede tega, je vprašanje politike in ne tehnike. Odstranitev profila ali preiskovalnega korena z strojne opreme, ki ni vaša, običajno krši sporazum o sprejemljivi uporabi, sistem upravljanja pa to običajno opazi in znova uporabi, zato zahteva, da lastnik naprave ne bere vašega prometa, potrebuje drugo napravo in ne drugo nastavitev.

Druga trditev: nihče ne vidi, kam greste

Cilj je težja trditev, ker se pred nalaganjem strani zgodita dve razkritji. Poizvedba gre k tistemu razreševalniku, ki ga ima sistem nastavljenega, odgovor pa je viden omrežju, ki ga prenaša. Nato rokovanje TLS prenaša zahtevano ime strežnika odkrito, razen če je Encrypted Client Hello podprt na obeh koncih. Nobeno od razkritij ne vključuje dešifriranja, zato tunel ne vpliva na nobeno.

resolvectl status | grep -A2 "Link"
nslookup example.com

Kateri razreševalnik se dejansko uporablja, odloča o izpostavljenosti, in to je mogoče izmeriti namesto razpravljati. V Linuxu resolvectl status izpiše strežnike DNS za vsako povezavo, njegov izhod pa pove, ali odgovarja razreševalnik mesta ali vsiljeni. Windows odgovori na isto vprašanje z nslookup example.com, katerega prvi blok izhoda je strežnik DNS, ki je odgovoril.

Ko prenosnik vpraša razreševalnik mesta, preden se tunel dvigne, ali profil prispe brez nadomestnega strežnika, tako da stari ostane v uporabi, skrbnik še vedno zbira imena gostiteljev, ne da bi karkoli dešifriral. Šifrirani DNS v brskalniku bodisi obide vsiljeni razreševalnik bodisi je popolnoma blokiran in odpove zaprt. Izhodni operater vidi ista imena s svoje strani. Zamenjava razreševalnika torej tega razkritja ne odmakne od ponudnika tunela.

Tretja trditev: nihče ne ve, da ste se povezali

Tretja trditev je tista, ki je tunel ne more podpreti, ker paketi še vedno prečkajo lokalno omrežje. To omrežje izve naslov končne točke, približno količino, čas in obstoj ene dolgotrajne šifrirane seje, kar zadošča za blokiranje, omejevanje ali preprosto opazovanje. Pozarni zid, ki ne more prebrati paketa, ga lahko še vedno zavrne prepustiti. Biti opazovan ni isto kot da vas ne opazuje nihče: opazovalca ste premaknili, niste ga izbrisali.

Razdeljeno tuneliranje in vsaka aplikacija, ki ne upošteva vsiljene poti, ustvarjata tokove zunaj tunela, ki izgledajo natanko kot prej. Prav te tokove pozoren opazovalec opazi prve, usmerjevalna tabela odjemalca pa pokaže, kateri cilji so izključeni.

Operater na drugem koncu drži zrcalno sliko tega pogleda: izhodni naslov, čas, količino in običajno imena mest. Vaš ponudnik postane stran z vidno točko, kar je drugačna kupčija od nevidnosti. Izbrati ponudnika, ki mu zaupate, je resnična odločitev; rezultat imenovati neopazovan ni.

Odločite se, katero trditev potrebujete

Zahtevo zapišite v eno vrstico, preden se dotaknete odjemalca: skriti vsebino, skriti cilje ali skriti, ali ste se sploh povezali. Vsebino že obravnavata HTTPS in tunel, medtem ko cilji zahtevajo razreševalnik in pot, ki popolnoma obideta opremo mesta.

Tretja zahteva je tista neprijetna, ker je nekaj še vedno vidno povezano nekje, šifrirano ali ne. Nobena nastavitev odjemalca tega ne spremeni. Če se zahteva in politika razhajata, ta vrzel sodi v pogovor s tistim, ki ima politiko, ne v možnost v odjemalcu. Človek, ki lahko to odgovori, je tisti, ki je politiko napisal.

Sorodni članki