Kolme tarkkailijaa sulautuu yhdeksi kysymykseksi aina, kun joku kysyy, kätkeekö VPN hänen liikenteensä: verkko, johon hän on liittynyt, laite hänen käsissään ja tunnelin operaattori. Jokainen oppii jotain erilaista, ja tunneli muuttaa kutakin näistä näkymistä eri tavalla. Kannattaa työskennellä vastakkaiseen suuntaan ja aloittaa väitteestä, sillä väite on se, jonka on kestettävä tarkastelu. Päätä, mitä väitettä tarvitset, ja vertaa sitten työkaluja siihen.

Ensimmäinen väite: kukaan ei voi lukea liikennettä

Aloita kapeimmasta väitteestä: hyötykuorma pysyy lukukelvottomana. Passiivinen tarkkailija reitillä ei näe TLS-istunnon sisään, joten tunneli lisää vähän sivustolle, joka jo käyttää HTTPS:ää, eikä lisää mitään kahta päätepistettä vastaan. Väitteen rikkoo se, joka hallitsee laitetta, koska tarkastusvälityspalvelin päättää yhteyden ja allekirjoittaa sen uudelleen juurella, johon laite jo luottaa. Siksi lukko näkyy edelleen, vaikka varmenneketju kantaa sen organisaation nimeä, joka asensi juuren.

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:ssa tuo putki tulostaa yhden subjektirivin jokaiselle laitteen avainnipussa olevalle varmenteelle avaamatta ikkunaa, ja Windowsissa certutil -store Root luettelee saman säilön, jonka certlm.msc näyttää graafisesti. Koululle, työnantajalle tai verkkoturvatuotteelle kuuluva juuri on se merkintä, jota kannattaa etsiä. Yhden löytäminen todistaa vain, että sieppaus on mahdollista, ei että sitä tapahtuu.

Se, mitä voit tehdä asialle, on politiikan eikä tekniikan kysymys. Profiilin tai tarkastusjuuren poistaminen laitteistosta, jota et omista, rikkoo yleensä hyväksyttävän käytön sopimusta, ja hallintajärjestelmä yleensä huomaa sen ja ottaa sen uudelleen käyttöön, joten vaatimus, ettei laitteen omistaja saa lukea liikennettäsi, vaatii toisen laitteen eikä toista asetusta.

Toinen väite: kukaan ei näe, minne menet

Kohde on vaikeampi väite, koska kaksi paljastusta tapahtuu ennen kuin sivu latautuu. Kysely menee sille ratkaisijalle, jonka käyttöön järjestelmä on määritetty, ja vastaus on näkyvissä verkolle, joka sitä kuljettaa. Sitten TLS-kättely kuljettaa pyydetyn palvelimen nimen avoimesti, ellei Encrypted Client Helloa tueta molemmissa päissä. Kumpikaan paljastus ei sisällä salauksen purkamista, joten tunnelilla ei ole vaikutusta kumpaankaan.

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

Se, mitä ratkaisijaa tosiasiassa käytetään, ratkaisee altistuksen, ja se voidaan mitata sen sijaan, että siitä väiteltäisiin. Linuxissa resolvectl status tulostaa DNS-palvelimet linkeittäin, ja sen tuloste kertoo, vastaako sivuston ratkaisija vai työnnetty ratkaisija. Windows vastaa samaan kysymykseen komennolla nslookup example.com, jonka tulosteen ensimmäinen lohko on vastannut DNS-palvelin.

Kun kannettava kysyy sivuston ratkaisijalta ennen kuin tunneli nousee, tai profiili saapuu ilman korvaavaa palvelinta niin että vanha jää käyttöön, ylläpitäjä kerää yhä isäntänimiä purkamatta mitään salausta. Selaimen salattu DNS joko kiertää työnnetyn ratkaisijan tai estetään kokonaan ja epäonnistuu suljetusti. Poistumisoperaattori näkee samat nimet omalta puoleltaan. Ratkaisijan vaihtaminen ei siis siirrä tätä paljastusta pois tunnelin tarjoajalta.

Kolmas väite: kukaan ei tiedä, että yhdistit

Kolmas väite on se, jota tunneli ei voi tukea, koska paketit ylittävät yhä paikallisverkon. Verkko oppii päätepisteen osoitteen, likimääräisen määrän, ajoituksen ja yhden pitkäikäisen salatun istunnon olemassaolon, mikä riittää estämiseen, rajoittamiseen tai yksinkertaisesti huomaamiseen. Palomuuri, joka ei pysty lukemaan pakettia, voi silti kieltäytyä päästämästä sitä läpi. Tarkkailtuna oleminen ei ole sama kuin ettei kukaan tarkkaile: siirsit tarkkailijan, et poistanut sitä.

Jaettu tunnelointi ja mikä tahansa sovellus, joka jättää työnnetyn reitin huomiotta, tuottavat tunnelin ulkopuolisia virtoja, jotka näyttävät täsmälleen entisiltä. Juuri ne huomaa huolellinen tarkkailija ensimmäisenä, ja asiakkaan reititystaulu näyttää, mitkä kohteet on jätetty pois.

Toisen pään operaattorilla on tuon näkymän peilikuvana: poistumisosoite, ajoitus, määrä ja yleensä sivustojen nimet. Tarjoajastasi tulee osapuoli, jolla on näköala, ja se on eri kauppa kuin näkymättömyys. Luotettavan tarjoajan valitseminen on todellinen päätös; tuloksen kutsuminen tarkkailemattomaksi ei ole.

Päätä, mitä väitettä tarvitset

Kirjoita vaatimus yhdelle riville ennen kuin kosket asiakasta: kätke sisältö, kätke kohteet tai kätke se, yhdistitkö lainkaan. Sisällön hoitavat jo HTTPS ja tunneli, kun taas kohteet vaativat ratkaisijan ja reitin, jotka ohittavat sivuston laitteet kokonaan.

Kolmas vaatimus on se hankala, koska jokin on yhä näkyvästi yhteydessä jossain, salattuna tai ei. Mikään asiakasasetus ei muuta sitä. Jos vaatimus ja politiikka erkanevat, tuo kuilu kuuluu keskusteluun sen kanssa, joka omistaa politiikan, ei asiakasasetukseen. Henkilö, joka voi vastata siihen, on se, joka kirjoitti politiikan.

Aiheeseen liittyvät artikkelit