Näkeekö VPN-operaattori, millä sivuilla vierailet?
Oletusarvoinen OpenVPN-palvelin tallentaa istuntoja, ei URL-osoitteita. Vertaa yhteyslokeja, tunnelin kaappausta ja DNS-vuototestiä ennen kuin väität, mitä operaattori näkee.
Kysy, mitä VPN näkee, ja vastaus riippuu siitä, missä kohdassa polkua seisot. Istuntokerroksella operaattorilla on tunnistautumistapahtumat ja tavumäärät. Pakettikerroksella sillä on kohdeosoitteet ja ajoitukset. DNS-kerroksella sillä voi olla itse nimet. Jokainen kerros vastaa eri kysymykseen, eikä yksikään kytkin siirrä sinua niiden välillä.
Kartoita kerros ennen väitettä
Sama yhteys tuottaa eri tietueet kussakin pisteessä, ja väite yksityisyydestä on mielekäs vain, kun se nimeää pisteen. Lue taulukkoa sarake kerrallaan: mitä siinä kerroksessa on olemassa, mitä operaattori voi siellä nähdä ja mitä samat tietueet eivät edelleenkään voi hänelle kertoa.
| 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 |
Yhden kerroksen lukeminen koko kuvana on sekä liioittelun että väärän turvallisuudentunteen alku. Palveluntarjoaja, joka sanoo, ettei kirjaa selaamista, voi olla täsmällinen URL-kirjauksesta ja silti pitää istuntotietueita, eikä vain osoitteita näyttävä pakettikaappaus muutu selaushistoriaksi ilman käänteisiä hakuja ja arvailua.
Kun arvioit käytäntöä, etsi lause, joka kuvaa kunkin kerroksen. Jos käytäntö ei erota niitä, kysy, mitä tietueita on olemassa, sen sijaan että hyväksyisit yleisen väitteen salauksesta.
Istuntojen luettelo: mitä vakio-OpenVPN-palvelin pitää
Heti asennuksen jälkeen OpenVPN -palvelin ei kaappaa liikennettä. Tavallinen tuloste on istuntojen luettelo: todennettu tili, lähdeosoite, josta se tuli, alun ja lopun aikaleimat, myönnetty tunneliosoite ja tavumäärät kumpaankin suuntaan. Se on istuntojen luettelo, ei kohdeluettelo.
Lokitusasetukset voivat lisätä yksityiskohtia. Korkeampi yksityiskohtaisuustaso kirjoittaa enemmän kättelystä, ja tilatiedosto voi luetella yhdistetyt asiakkaat, mutta kumpikaan ei tee palvelimesta läpinäkyvää välityspalvelinta. URL-osoitteiden tuottaminen edellyttää TLS:n päättämistä tai erillistä välityspalvelinta, ja molemmat muuttavat luottamusjärjestelyä sen sijaan että ottaisivat käyttöön piilotetun ominaisuuden.
Siksi selauslokin puuttumista koskevan väitteen täsmällinen versio on kapeampi kuin miltä se kuulostaa. Palvelin ei tunne sivua, mutta se tietää, että istunto oli olemassa, ja suunnilleen kuinka paljon dataa sen läpi kulki. Pidetäänkö se istuntotietue ja kuinka kauan, on erillinen käytäntökysymys.
Sisäiset ja ulkoiset paketit ovat eri todisteita
Pakettikaappaus on tapa nähdä, mitä tunnelin läpi todella kulkee. Nimeä palvelimella tunnelin liitäntä ja kirjoita tiedostoon, jota voi analysoida offline-tilassa:
sudo tcpdump -ni tun0 -w /tmp/tun.pcap
sudo tcpdump -r /tmp/tun.pcap -nn | headTiedosto sisältää salauksen purkaneen sisäisen liikenteen: asiakkaan tunneliosoitteen lähteenä, kohdeosoitteen ja portin, pakettien koot ja ajoitukset. Se ei sisällä HTTP-polkua tai vastauksen runkoa, ellei TLS:ää ole päätetty jossakin, ja kyse on arkaluonteisesta datasta, jonka säilyttäminen on käytäntöpäätös eikä virheenkorjauksen mukavuus.
Kaappaus fyysisellä liitännällä näyttää jotain muuta. Siellä näet ulkoiset paketit, jotka on osoitettu VPN:n päätepisteelle, sisällään salattu hyötykuorma. Epäolennaiset osoitteet siinä tiedostossa ovat normaaleja heti kun virtuaalinen sovitin on olemassa, koska tunnelilaite kuljettaa sisäiset virrat ja salattu siirto ulkoiset.
Kysy, mihin kysymykseen kaappauksen on vastattava. Sovelluksen tunnelin käyttö näkyy virtuaalisella sovittimella; tunnelin pääsy päätepisteeseen näkyy fyysisellä. Kummankin tiedoston käyttäminen ikään kuin se olisi koko kuva tuottaa johtopäätöksiä, joita data ei tue.
DNS on paikka, jossa nimet tulevat näkyviksi
DNS pysyy käytännön poikkeuksena. Ratkaisin näkee nimet, jotka sen on ratkaistava, joten sen ylläpitäjä oppii, mitä sivustoja asiakas etsii, vaikka myöhemmät yhteydet olisivat salattuja. Tunnelikaappaus näyttää osoitteet; ratkaisin näyttää nimet.
Tarkista, mitä osoitetta ratkaisin käytti ulkoiseen palveluun päästäkseen. Vastaus on ratkaisimen lähtöosoite, ja sen vertaaminen VPN:n lähtöön kertoo, kulkiko kysely tunnelin läpi:
dig +short myip.opendns.com @resolver1.opendns.com
dig example.com
sudo tcpdump -ni any udp port 53Jos osoite vastaa paikallista yhteyttä eikä tunnelin lähtöä, haku ohitti VPN:n ja nimi oli näkyvissä paikallisella polulla. Toista tarkistus asiakaspäivityksen jälkeen, koska uusi versio voi muuttaa sitä, minkä ratkaisimen profiili asentaa.
Salattu DNS siirtää näkyvyyttä sen sijaan että poistaisi sen. Verkko ei enää näe kyselyä, mutta ratkaisin näkee, ja luottamuskysymys vain vaihtaa käsiä. TLS-palvelimen nimi yhteyden kättelyssä on toinen osittainen signaali: se säilyy usein, vaikka hyötykuorma olisi läpinäkymätön, joten kohdeosoitteet eivät ole ainoat metatiedot, joita välittävä palvelin voi havaita.
Kolme tietuetyyppiä ja kuka voi lukea ne
Istunnon kirjanpito, nimikohtaiset tietueet ja vuototodisteet ovat kolme eri tuotetta, joilla on kolme eri velvoitetta. Istuntolokit ovat halpoja ja vähän arkaluonteisia, ja ne vastaavat siihen, kuka yhdisti ja milloin. Nimikohtaiset tietueet edellyttävät kirjaavaa ratkaisinta tai erillistä välityspalvelinta, ja ne luovat tiedonantovelvoitteen asianomaisille ihmisille. Vuototodiste on asiakaspuolen testi, joka vertaa sitä, mitä ratkaisin paljastaa, tunnelin lähtöön.
Kirjaa, mitä näistä kolmesta ylläpidät, kuka voi lukea sitä ja kuinka kauan se säilyy. Väitteet, ettei palvelu pidä lokeja, kuvaavat yhtä kerrosta, ja ne pysyvät tosina vain siinä laajuudessa. Sama palveluntarjoaja voi olla täsmällinen istunnoista ja väärässä DNS:stä.
Pidä testi toistettavana: sama kysely ratkaisimelle, sama kaappausliitäntä ja sama vertailu. Yksityisyysväite, jota ei voi testata nimetyllä kerroksella, on iskulause, ei toiminnallinen tosiasia.