Co místní síť ještě vidí přes vaši VPN
Tunel skrývá obsah, ne vaši přítomnost. Porovnejte, co se dozví přístupová síť, spravované zařízení a operátor VPN, než předpokládáte, že jedno pokryje všechno.
Tři pozorovatelé se slijí do jedné otázky, kdykoli se někdo ptá, zda VPN skrývá jeho provoz: síť, ke které je připojen, stroj v jeho rukou a operátor tunelu. Každý se dozví něco jiného a tunel mění každý z těch pohledů jinak. Vyplatí se jít opačným směrem a začít od tvrzení, které se vyslovuje, protože právě tvrzení musí obstát při zkoumání. Rozhodněte, které tvrzení potřebujete, a pak s ním porovnejte nástroje.
První tvrzení: nikdo nemůže přečíst provoz
Začněte nejužším tvrzením: užitečné zatížení zůstává nečitelné. Pasivní pozorovatel na cestě nevidí dovnitř relace TLS, takže tunel přidává málo k webu, který už používá HTTPS, a nic nepřidává proti oběma koncovým bodům. Tvrzení láme ten, kdo ovládá zařízení, protože inspekční proxy ukončí spojení a znovu ho podepíše kořenem, kterému stroj už věří. Proto se zámek stále objevuje, zatímco řetěz certifikátů nese jméno organizace, která kořen nainstalovala.
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 příkaz vypíše jeden řádek subjektu pro každý certifikát v klíčence stroje, aniž by otevřel okno; ve Windows certutil -store Root vypíše stejné úložiště, které certlm.msc zobrazuje graficky. Kořen patřící škole, zaměstnavateli nebo produktu pro síťovou bezpečnost je záznam, který hledáte. Nalezení jednoho dokazuje jen to, že odposlech je možný, ne že probíhá.
Co s tím můžete dělat, je otázka politiky, ne techniky. Odebrání profilu nebo inspekčního kořene z hardwaru, který nevlastníte, obvykle porušuje smlouvu o přijatelném užívání a systém správy si to obvykle všimne a znovu to použije, takže požadavek, aby vlastník zařízení nečetl váš provoz, potřebuje jiné zařízení, ne jiné nastavení.
Druhé tvrzení: nikdo nevidí, kam jdete
Cíl je těžší tvrzení, protože před načtením stránky dojde ke dvěma prozrazením. Dotaz jde k tomu resolveru, který má systém nakonfigurovaný, a odpověď je viditelná pro síť, která ji nese. Pak TLS handshake nese požadované jméno serveru otevřeně, pokud Encrypted Client Hello není podporován na obou koncích. Ani jedno prozrazení nezahrnuje dešifrování, takže tunel na ně nemá vliv.
resolvectl status | grep -A2 "Link"
nslookup example.com
Který resolver se skutečně používá, rozhoduje o expozici, a to lze změřit místo dohadování. V Linuxu resolvectl status vypíše DNS servery pro každé spojení a jeho výstup řekne, zda odpovídá resolver webu, nebo ten vnucený. Windows odpovídá na stejnou otázku pomocí nslookup example.com, jehož první blok výstupu je DNS server, který odpověděl.
Když se notebook ptá resolveru webu předtím, než se tunel zvedne, nebo profil dorazí bez náhradního serveru, takže starý zůstane v použití, správce stále sbírá názvy hostitelů, aniž by cokoli dešifroval. Šifrované DNS v prohlížeči buď obejde vnucený resolver, nebo je úplně zablokováno a selže zavřené. Výstupní operátor vidí stejná jména ze své strany. Změna resolveru tedy toto prozrazení neposouvá od poskytovatele tunelu.
Třetí tvrzení: nikdo neví, že jste se připojili
Třetí tvrzení tunel nemůže podpořit, protože pakety stále procházejí místní sítí. Ta síť zjistí adresu koncového bodu, přibližný objem, časování a existenci jedné dlouhotrvající šifrované relace, což stačí k blokování, omezení nebo prostému zaznamenání. Firewall, který neumí přečíst paket, ho stále může odmítnout propustit. Být sledován není totéž jako nebýt nikým sledován: pozorovatele jste přesunuli, nesmazali.
Rozdělené tunelování a jakákoli aplikace, která ignoruje vnucenou trasu, vytvářejí toky mimo tunel, které vypadají přesně jako dřív. Právě těch si pozorný pozorovatel všimne první a klientská směrovací tabulka ukazuje, které cíle jsou vyloučené.
Operátor na druhém konci drží zrcadlový obraz tohoto pohledu: výstupní adresu, časování, objem a obvykle názvy webů. Váš poskytovatel se stává stranou s vyhlídkou, což je jiná dohoda než neviditelnost. Vybrat poskytovatele, kterému věříte, je skutečné rozhodnutí; nazvat výsledek nepozorovaným není.
Rozhodněte, které tvrzení potřebujete
Napište požadavek na jeden řádek, než se dotknete klienta: skrýt obsah, skrýt cíle, nebo skrýt, zda jste se vůbec připojili. Obsah už řeší HTTPS spolu s tunelem, zatímco cíle vyžadují resolver a cestu, které zařízení webu úplně obejdou.
Třetí požadavek je ten nepohodlný, protože něco je stále viditelně připojené někde, šifrované nebo ne. Žádné nastavení klienta to nezmění. Pokud se požadavek a politika rozcházejí, ta mezera patří do rozhovoru s tím, kdo politiku vlastní, ne do volby v klientovi. Člověk, který na to může odpovědět, je ten, kdo politiku napsal.