Čo miestna sieť ešte vidí cez vaše VPN
Tunel skrýva obsah, nie vašu prítomnosť. Porovnajte, čo sa dozvedia prístupová sieť, spravované zariadenie a operátor VPN, skôr než predpokladáte, že jedno pokrýva všetko.
Traja pozorovatelia sa zlejú do jednej otázky vždy, keď sa niekto pýta, či VPN skrýva jeho prevádzku: sieť, ku ktorej je pripojený, stroj v jeho rukách a operátor tunela. Každý sa dozvie niečo iné a tunel mení každý z tých pohľadov inak. Vyplatí sa ísť opačným smerom a začať od tvrdenia, ktoré sa vyslovuje, pretože práve tvrdenie musí obstáť pri skúmaní. Rozhodnite, ktoré tvrdenie potrebujete, a potom s ním porovnajte nástroje.
Prvé tvrdenie: nikto nemôže prečítať prevádzku
Začnite najužším tvrdením: užitočné zaťaženie zostáva nečitateľné. Pasívny pozorovateľ na ceste nevidí dovnútra relácie TLS, takže tunel pridáva málo k webu, ktorý už používa HTTPS, a nič nepridáva proti obom koncovým bodom. Tvrdenie láme ten, kto ovláda zariadenie, pretože inšpekčná proxy ukončí spojenie a znovu ho podpíše koreňom, ktorému stroj už dôveruje. Preto sa zámok stále objavuje, zatiaľ čo reťazec certifikátov nesie názov organizácie, ktorá koreň nainštalovala.
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 tento príkaz vypíše jeden riadok subjektu pre každý certifikát v kľúčenke stroja bez otvorenia okna a v Windows certutil -store Root vypíše to isté úložisko, ktoré certlm.msc zobrazuje graficky. Koreň patriaci škole, zamestnávateľovi alebo produktu pre sieťovú bezpečnosť je záznam, ktorý treba hľadať. Nájdenie jedného dokazuje len to, že odpočúvanie je možné, nie že prebieha.
Čo s tým môžete urobiť, je otázka politiky, nie techniky. Odstránenie profilu alebo inšpekčného koreňa z hardvéru, ktorý nevlastníte, zvyčajne porušuje zmluvu o prijateľnom používaní a systém správy si to zvyčajne všimne a znova to použije, takže požiadavka, aby vlastník zariadenia nečítal vašu prevádzku, potrebuje iné zariadenie, nie iné nastavenie.
Druhé tvrdenie: nikto nevidí, kam idete
Cieľ je ťažšie tvrdenie, pretože pred načítaním stránky dôjde k dvom prezradeniam. Dopyt ide k tomu resolveru, ktorý má systém nakonfigurovaný, a odpoveď je viditeľná pre sieť, ktorá ho nesie. Potom TLS handshake nesie požadované meno servera otvorene, ak Encrypted Client Hello nie je podporovaný na oboch koncoch. Ani jedno prezradenie nezahŕňa dešifrovanie, takže tunel na ne nemá vplyv.
resolvectl status | grep -A2 "Link"
nslookup example.com
Ktorý resolver sa skutočne používa, rozhoduje o expozícii, a to sa dá zmerať namiesto diskusie. V Linuxe resolvectl status vypíše DNS servery pre každé spojenie a jeho výstup povie, či odpovedá resolver webu alebo ten vnútený. Windows odpovedá na tú istú otázku pomocou nslookup example.com, ktorého prvý blok výstupu je DNS server, ktorý odpovedal.
Keď sa notebook pýta resolvera webu predtým, než sa tunel zdvihne, alebo profil príde bez náhradného servera, takže starý zostane v používaní, správca stále zbiera názvy hostiteľov bez toho, aby čokoľvek dešifroval. Šifrované DNS v prehliadači buď obíde vnútený resolver, alebo je úplne zablokované a zlyhá zatvorené. Výstupný operátor vidí rovnaké mená zo svojej strany. Zmena resolvera teda toto prezradenie neposúva od poskytovateľa tunela.
Tretie tvrdenie: nikto nevie, že ste sa pripojili
Tretie tvrdenie tunel nemôže podporiť, pretože pakety stále prechádzajú miestnou sieťou. Tá sieť zistí adresu koncového bodu, približný objem, časovanie a existenciu jednej dlhotrvajúcej šifrovanej relácie, čo stačí na blokovanie, obmedzenie alebo jednoduché zaznamenanie. Firewall, ktorý nevie prečítať paket, ho stále môže odmietnuť prepustiť. Byť sledovaný nie je to isté ako nebyť nikým sledovaný: pozorovateľa ste presunuli, nevymazali.
Rozdelené tunelovanie a akákoľvek aplikácia, ktorá ignoruje vnútenú trasu, vytvárajú toky mimo tunela, ktoré vyzerajú presne ako predtým. Práve tých si pozorný pozorovateľ všimne prvý a klientska smerovacia tabuľka ukazuje, ktoré ciele sú vylúčené.
Operátor na druhom konci drží zrkadlový obraz tohto pohľadu: výstupnú adresu, časovanie, objem a zvyčajne názvy webov. Váš poskytovateľ sa stáva stranou s výhľadom, čo je iná dohoda než neviditeľnosť. Vybrať poskytovateľa, ktorému dôverujete, je skutočné rozhodnutie; nazvať výsledok nepozorovaným nie je.
Rozhodnite, ktoré tvrdenie potrebujete
Napíšte požiadavku na jeden riadok, skôr než sa dotknete klienta: skryť obsah, skryť ciele alebo skryť, či ste sa vôbec pripojili. Obsah už rieši HTTPS spolu s tunelom, zatiaľ čo ciele vyžadujú resolver a cestu, ktoré úplne obchádzajú zariadenie webu.
Tretia požiadavka je tá nepríjemná, pretože niečo je stále viditeľne pripojené niekde, šifrované alebo nie. Žiadne nastavenie klienta to nezmení. Ak sa požiadavka a politika rozídu, tá medzera patrí do rozhovoru s tým, kto politiku vlastní, nie do voľby v klientovi. Človek, ktorý na to môže odpovedať, je ten, kto politiku napísal.