Kaksi yksityisyystyökalua on käynnissä, yksi sivu ei lataudu ja resolveritesti sanoo, että jokin selaimen ulkopuolinen vastaanotti nimen. Ennen kuin siitä tulee vuotoraportti, nimeä vaihto, josta se tuli. Torin ja VPN:n kokoonpano sisältää vähintään kolme eri nimitietokyselyä kolmella eri omistajalla, ja niiden läpikäyminen siinä järjestyksessä kuin ne tapahtuvat on nopein tapa nähdä, mikä niistä käyttäytyy väärin.

Nimeä jokainen vaihto ennen kuin kutsut sitä vuodoksi

Ensimmäinen vaihto ratkaisee VPN:n päätepisteen itse, ja se tapahtuu ennen kuin mitään suojaa on olemassa. Toinen ratkaisee kohteen Tor Browserille, joka voi luovuttaa nimen välityspalvelimelle sen sijaan että ratkaisisi sen paikallisesti. Kolmas kattaa kaiken muun koneessa, mukaan lukien päivitystarkistukset, sähköpostiohjelmat ja käyttöjärjestelmän omat palvelukyselyt. Vain ensimmäinen niistä voi tapahtua ilman, että kaksi muuta ovat mukana.

Jokainen niistä voi seurata eri reittiä, ja yksi selainpohjainen testi havaitsee vain oman pyyntönsä. Yhden tuloksen pitäminen kaikkien kolmen tilana on se, mistä suurin osa sekaannuksesta alkaa.

Kirjoita ylös, mitkä nimet kuuluvat millekin kerrokselle ennen kuin muutat mitään. Yksityiset organisaationimet, julkinen kohde ja tunnelin päätepiste itse eivät kanna samaa vaatimusta, ja käytäntö, joka kohtelee niitä yhtenä luokkana, rikkoo jotain.

Käynnistyshaku tapahtuu ennen tunnelia

Isäntänimellä määritetyn asiakkaan on ratkaistava tämä nimi avatakseen tunnelin, ja sillä hetkellä tunnelia ei ole kuljettamassa kyselyä. Vastaa mikä tahansa resolveri, jonka käyttöjärjestelmä tarjoaa nykyisessä verkossa, ja se voi olla captive-portaali, hotelliresolveri tai julkinen. Tämä ei ole vuoto tunnelissa, koska tunnelia ei vielä ole.

Selaimen suojatun DNS:n asetuksen muuttaminen ei koske tätä hakua myöskään, sillä se kuuluu palveluun, joka toimii selaimen ulkopuolella ja käynnistyy ennen minkään sivun avaamista. Jos päätepisteen nimi ei ratkea, mikään tunnelin sisäinen käytäntö ei auta, koska vika tapahtuu yhtä vaihetta aiemmin kuin kaikki, mitä kokoonpano kuvaa.

Tämä on ainoa paikka, jossa päätepisteelle käytetyn kirjaimellisen osoitteen, jos palveluntarjoaja tukee sitä, käyttö poistaa riippuvuuden sen sijaan että lisäisi sellaisen. Se poistaa myös mahdollisuuden seurata palveluntarjoajaa, joka vaihtaa osoitteita, joten vaihtokauppa on todellinen ja se pitäisi päättää eikä löytää.

Selain ja muu kone eroavat toisistaan

Torin SOCKS-rajapinta tukee kohde-isäntänimen välittämistä välityspalvelimelle, mikä tarkoittaa, että etäpää tekee ratkaisun eikä paikallinen kone koskaan kysy. Yleinen välityspalvelinta tukeva sovellus voi ratkaista nimen ensin paikallisesti ja yhdistää sitten saatuun osoitteeseen, mikä tuottaa paikallisen kyselyn kohteelle, jonka käyttäjä uskoi kulkevan välityspalvelimen kautta. Siksi kaksi sovellusta voivat vuotaa eri paikoissa samalla kun ne jakavat yhden välityspalvelinasetuksen. Mikään jaetussa välityspalvelimen osoitteessa ei kerro, kumpi kahdesta käyttäytymisestä on käytössä.

Selaimet lisäävät vielä yhden kerroksen, kun suojattu DNS on käytössä, koska selain voi valita oman tarjoajansa ja ohittaa järjestelmän resolverin kokonaan. Tunneliasiakas voi puolestaan työntää resolverin tunnelin läpi koko koneelle. Nämä kaksi asetusta voivat olla molemmat oikein ja silti kuvata erilaista käyttäytymistä eri ohjelmille.

Tarkista pyynnön tehnyt ohjelma sen sijaan että yleistäisit yhdestä testisivusta. Ero tunnelissa kuljetetun kyselyn ja sellaisen välillä, joka ei koskaan saavuttanut Toria, on täsmälleen se ero, jota yksi resolveriosoite ei voi näyttää.

Tarkista jokainen ohjelma ja vertaa sitten aikomukseen

Tee havainnot erikseen: mitä järjestelmä käyttäisi, mihin selain on määritetty ja kuljettaako SOCKS-yhteys nimeä vai osoitetta. Viimeinen on ero etä- ja paikallisen ratkaisun välillä, ja SOCKS-laajennusten määritys kuvaa, miten isäntänimi välitetään sen sijaan että se ratkaistaisiin ensin.

resolvectl status | grep -E "Current DNS Server|DNS Servers"
ss -tnp '( dport = :9050 )'
dig +short dev.internal.example
getent hosts vpn-endpoint.example.net

Vertaa sitten havaitsemaasi siihen, mitä tarkoitit. Julkinen nimi, jonka valitsemasi resolveri ratkaisee tunnelin kautta, ei ole sama löydös kuin yksityinen nimi, joka luovutetaan julkiselle resolverille varautumisen aikana, ja yleensä vain toinen vaatii toimenpiteitä. Ensimmäinen on kokoonpano, joka toimii suunnitellusti, vaikka se näyttäisi raportissa vieraalta.

Kirjaa hyväksymäsi poikkeukset, mukaan lukien käynnistyshaku, jota ei voi suojata. Kirjoitettu poikkeus on suunnittelupäätös, kun taas sama poikkeus myöhemmin havaittuna näyttää vialta. Sen löytävä henkilö kohtelee sitä sellaisena, ja käytät kokouksen selittämiseen, miksi se ei ole.

Aiheeseen liittyvät artikkelit