Ali lahko operater VPN vidi, katere strani obiskujete?
Privzeti strežnik OpenVPN beleži seje, ne URL-jev. Preden trdite, kaj operater vidi, primerjajte dnevnike povezav, zajem tunela in preizkus uhajanja DNS.
Vprašajte, kaj lahko VPN vidi, in odgovor je odvisen od tega, kje stojite na poti. Na plasti seje ima operater dogodke preverjanja pristnosti in števce bajtov. Na plasti paketov ima ciljne naslove in čas. Na plasti DNS ima lahko sama imena. Vsaka plast odgovarja na drugo vprašanje in nobeno stikalo vas ne premakne med njimi.
Določite plast, preden kaj trdite
Ista povezava ustvari na vsaki točki drugačne zapise, izjava o zasebnosti pa ima smisel le, kadar to točko imenuje. Berite tabelo stolpec za stolpcem: kaj na tej plasti obstaja, kaj lahko operater tam vidi in česa ti isti zapisi še vedno ne morejo povedati.
| Layer | Visible there | Not visible there |
|---|---|---|
| Session and authentication | Account, client address, start and stop times, assigned address, byte counts | URLs, page content, search terms |
| Forwarded packets | Destination address and port, sizes, timing, often the TLS server name | HTTP path, headers, response body |
| DNS resolver | Queried names and the client that asked | Page content and later requests |
| TLS-terminating proxy | Full request line, headers and body | Nothing, by design |
Branje ene plasti kot celotne slike je začetek tako pretiranih trditev kot lažne varnosti. Ponudnik, ki pravi, da ne beleži brskanja, je lahko natančen glede beleženja URL-jev in vseeno hrani zapise sej, zajem paketov, ki kaže samo naslove, pa brez obratnih poizvedb in ugibanj ne postane zgodovina brskanja.
Ko ocenjujete politiko, poiščite stavek, ki opisuje vsako plast. Če jih politika ne ločuje, vprašajte, kateri zapisi obstajajo, namesto da bi sprejeli splošno izjavo o šifriranju.
Popis sej: kaj hrani običajen strežnik OpenVPN
Privzeto strežnik OpenVPN ne zajame prometa. Običajni izhod je popis sej: račun, ki se je preveril, izvorni naslov, s katerega je prišel, časovni žigi začetka in konca, dodeljeni naslov tunela in vsote bajtov v obeh smereh. To je popis sej, ne seznam ciljev.
Možnosti beleženja lahko dodajo podrobnosti. Višja raven podrobnosti zapiše več o rokovanju, statusna datoteka pa lahko navede povezane odjemalce, vendar nobeno od tega ne spremeni strežnika v prosojni proxy. Za ustvarjanje URL-jev je treba zaključiti TLS ali zagnati izrecni proxy, oboje pa spremeni ureditev zaupanja, namesto da bi omogočilo skrito funkcijo.
Zato je točna različica trditve, da ni dnevnika brskanja, ožja, kot se sliši. Strežnik ne pozna strani, ve pa, da je seja obstajala in približno koliko podatkov je šlo skoznjo. Ali se ta zapis seje hrani in kako dolgo, je ločeno vprašanje politike.
Notranji in zunanji paketi so različni dokazi
Zajem paketov je način, da vidite, kaj v resnici prehaja tunel. Na strežniku poimenujte vmesnik tunela in pišite v datoteko, ki jo je mogoče analizirati brez povezave:
sudo tcpdump -ni tun0 -w /tmp/tun.pcap
sudo tcpdump -r /tmp/tun.pcap -nn | headTa datoteka vsebuje dešifriran notranji promet: naslov tunela odjemalca kot vir, ciljni naslov in vrata, velikosti paketov in čas. Ne vsebuje poti HTTP ali telesa odgovora, razen če je bil TLS nekje zaključen, in to so občutljivi podatki, katerih hramba je odločitev politike in ne priročnost za razhroščevanje.
Zajem na fizičnem vmesniku pokaže nekaj drugega. Tam vidite zunanje pakete, naslovljene na končno točko VPN, znotraj pa šifrirano vsebino. Nepovezani naslovi v tej datoteki so običajni, ko obstaja navidezni vmesnik, ker naprava tunela nosi notranje tokove, šifrirani prenos pa zunanje.
Vprašajte, na katero vprašanje naj zajem odgovori. Uporaba tunela s strani aplikacije je vidna na navideznem vmesniku; dosegljivost tunela do končne točke je vidna na fizičnem. Uporaba katere koli datoteke kot celotne slike daje sklepe, ki jih podatki ne podpirajo.
DNS je mesto, kjer imena postanejo vidna
DNS ostaja praktična izjema. Razreševalnik vidi imena, ki jih prosi razrešiti, zato tisti, ki ga upravlja, izve, katere strani odjemalec išče, tudi ko so poznejše povezave šifrirane. Zajem tunela pokaže naslove; razreševalnik pokaže imena.
Preverite, s katerim naslovom je razreševalnik dosegel zunanjo storitev. Odgovor je izhodni naslov razreševalnika, primerjava z izhodom VPN pa pove, ali je poizvedba šla skozi tunel:
dig +short myip.opendns.com @resolver1.opendns.com
dig example.com
sudo tcpdump -ni any udp port 53Če se ta naslov ujema z lokalno povezavo in ne z izhodom tunela, je iskanje obšlo VPN in ime je bilo vidno na lokalni poti. Preverjanje ponovite po posodobitvi odjemalca, ker nova različica lahko spremeni, kateri razreševalnik namesti profil.
Šifrirani DNS premakne vidnost, namesto da bi jo odstranil. Omrežje poizvedbe ne vidi več, razreševalnik pa jo še vedno vidi, in vprašanje zaupanja samo zamenja roke. Ime strežnika TLS v rokovanju povezave je še en delen signal: pogosto preživi tudi, ko je vsebina neprosojna, zato ciljni naslovi niso edini metapodatki, ki jih lahko opazuje posredovalni strežnik.
Tri vrste zapisov in kdo jih lahko bere
Obračun sej, zapisi po imenu in dokazi o uhajanju so trije različni izdelki s tremi različnimi obveznostmi. Dnevniki sej so poceni in malo občutljivi, odgovarjajo pa, kdo se je kdaj povezal. Zapisi po imenu zahtevajo beležeči razreševalnik ali izrecni proxy in ustvarjajo obveznost razkritja do prizadetih ljudi. Dokaz o uhajanju je preizkus na strani odjemalca, ki primerja, kaj razkrije razreševalnik, z izhodom tunela.
Zapišite, katerega od teh treh upravljate, kdo ga lahko bere in kako dolgo ostane. Izjave, da storitev ne vodi dnevnikov, opisujejo eno plast in ostanejo resnične le v tem obsegu. Isti ponudnik je lahko natančen glede sej in napačen glede DNS.
Preizkus naj bo ponovljiv: ista poizvedba na razreševalnik, isti vmesnik zajema in ista primerjava. Trditev o zasebnosti, ki je ni mogoče preizkusiti na imenovani plasti, je slogan, ne obratovalno dejstvo.