Trys stebėtojai susilieja į vieną klausimą kiekvieną kartą, kai kas nors klausia, ar VPN slepia jo srautą: tinklas, prie kurio jis prijungtas, mašina jo rankose ir tunelio operatorius. Kiekvienas sužino ką nors kito, o tunelis kiekvieną iš šių vaizdų keičia skirtingai. Verta dirbti priešinga kryptimi ir pradėti nuo teiginio, nes būtent teiginys turi atlaikyti patikrinimą. Nuspręskite, kokio teiginio jums reikia, tada palyginkite su juo įrankius.

Pirmas teiginys: niekas negali perskaityti srauto

Pradėkite nuo siauriausio teiginio: naudingoji apkrova lieka neperskaitoma. Pasyvus stebėtojas kelyje negali pamatyti TLS sesijos viduje, todėl tunelis mažai ką prideda prie svetainės, kuri jau naudoja HTTPS, ir nieko neprideda prieš du galinius taškus. Šį teiginį sulaužo tas, kas valdo įrenginį, nes patikros tarpinė baigia ryšį ir pasirašo jį iš naujo šaknimi, kuria mašina jau pasitiki. Todėl spyna vis dar rodoma, nors sertifikatų grandinėje yra organizacijos, įdiegusios šaknį, pavadinimas.

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

macOS šis konvejeris išspausdina po vieną subjekto eilutę kiekvienam mašinos raktų rinkinyje esančiam sertifikatui, neatidaręs lango, o Windows certutil -store Root išvardija tą pačią saugyklą, kurią certlm.msc rodo grafiškai. Mokyklos, darbdavio ar tinklo saugumo produkto šaknis yra įrašas, kurio reikia ieškoti. Vienos radimas įrodo tik tai, kad perėmimas įmanomas, o ne kad jis vyksta.

Ką galite dėl to padaryti, yra politikos, o ne technikos klausimas. Profilio ar patikros šaknies pašalinimas iš techninės įrangos, kuri jums nepriklauso, paprastai pažeidžia priimtino naudojimo sutartį, o valdymo sistema linkusi tai pastebėti ir vėl pritaikyti, todėl reikalavimas, kad įrenginio savininkas neskaitytų jūsų srauto, reikalauja kito įrenginio, o ne kitos nuostatos.

Antras teiginys: niekas nemato, kur einate

Paskirties vieta yra sunkesnis teiginys, nes du atskleidimai įvyksta prieš įkeliant puslapį. Užklausa keliauja į tą resolverį, kurį sistema sukonfigūruota naudoti, o atsakymas matomas jį nešančiam tinklui. Tada TLS rankos paspaudimas atvirai perduoda prašomą serverio vardą, nebent Encrypted Client Hello palaikomas abiejuose galuose. Nė vienas atskleidimas nereikalauja iššifravimo, todėl tunelis neturi įtakos nė vienam.

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

Kuris resolveris iš tikrųjų naudojamas, lemia atskleidimą, ir tai galima išmatuoti, o ne ginčytis. Linux resolvectl status išspausdina DNS serverius kiekvienai jungčiai, o jo išvestis pasako, ar atsako svetainės resolveris, ar primestas. Windows į tą patį klausimą atsako su nslookup example.com, kurio pirmasis išvesties blokas yra atsakęs DNS serveris.

Kai nešiojamasis kompiuteris klausia svetainės resolverio prieš pakylant tuneliui, arba profilis atkeliauja be pakaitinio serverio, todėl senasis lieka naudojamas, administratorius vis tiek renka pagrindinio kompiuterio vardus nieko neiššifruodamas. Užšifruotas DNS naršyklėje arba apeina primestą resolverį, arba visiškai užblokuojamas ir nepavyksta uždarai. Išėjimo operatorius savo pusėje mato tuos pačius vardus. Todėl resolverio keitimas neatitolina to atskleidimo nuo tunelio tiekėjo.

Trečias teiginys: niekas nežino, kad prisijungėte

Trečias teiginys yra tas, kurio tunelis negali paremti, nes paketai vis dar kerta vietinį tinklą. Tas tinklas sužino galinio taško adresą, apytikrį kiekį, laiką ir vienos ilgai trunkančios užšifruotos sesijos egzistavimą, ko pakanka blokuoti, riboti ar tiesiog pastebėti. Ugniasienė, kuri negali perskaityti paketo, vis tiek gali atsisakyti jį praleisti. Būti stebimam nėra tas pats, kas nebūti niekieno stebimam: jūs perkėlėte stebėtoją, o ne ištrynėte.

Padalintas tuneliavimas ir bet kuri programa, kuri nepaiso primesto maršruto, sukuria srautus už tunelio ribų, kurie atrodo lygiai taip pat kaip anksčiau. Būtent šiuos srautus atidus stebėtojas pastebi pirmiausia, o kliento maršrutų lentelė rodo, kurios paskirties vietos yra išskirtos.

Operatorius kitame gale turi to vaizdo veidrodinį atspindį: išėjimo adresas, laikas, kiekis ir dažniausiai svetainių pavadinimai. Jūsų tiekėjas tampa šalimi, turinčia apžvalgos tašką, o tai kitokia sandora nei nematomumas. Pasirinkti tiekėją, kuriuo pasitikite, yra tikras sprendimas; pavadinti rezultatą nestebimu nėra.

Nuspręskite, kokio teiginio jums reikia

Užrašykite reikalavimą vienoje eilutėje prieš liesdami klientą: paslėpti turinį, paslėpti paskirties vietas ar paslėpti, ar apskritai prisijungėte. Turinį jau tvarko HTTPS kartu su tuneliu, o paskirties vietoms reikia resolverio ir kelio, kurie visiškai apeitų svetainės įrangą.

Trečiasis reikalavimas yra nepatogusis, nes kažkas vis dar matomai kažkur prijungta, užšifruota ar ne. Jokia kliento nuostata to nepakeis. Jei reikalavimas ir politika išsiskiria, ta spraga priklauso pokalbiui su tuo, kam priklauso politika, o ne kliento parinkčiai. Žmogus, galintis į tai atsakyti, yra tas, kuris parašė politiką.

Susiję straipsniai