Seuranta ja evästeet
Salattu DNS ja DNS-vuoto: kuka näkee avaamasi sivustot
HTTPS piilottaa sen, mitä teet sivustolla, mutta ei välttämättä sitä, mille sivustolle menet. Näin nimikyselyt vuotavat, mitä salattu DNS korjaa ja mitä jää jäljelle.
Lyhyt vastaus
Ennen kuin selain voi salata mitään, sen on selvitettävä verkkotunnuksen IP-osoite. Tuo kysely kulkee oletuksena selkokielisenä operaattorin nimipalvelimelle, joten sivustojen nimet näkyvät ulkopuolelle vaikka itse liikenne on salattua. Salattu DNS piilottaa kyselyn matkalta, mutta siirtää saman tiedon valitsemallesi nimipalvelun tarjoajalle. Yhteyden avauksessa palvelimen nimi lähtee lisäksi vielä selkokielisenä, joten pelkkä salattu nimipalvelu ei tee vierailuista näkymättömiä.
Sisällys
- Yhteyden avaus vuotaa kolmessa kohdassa
- Salatun nimipalvelun kolme muotoa
- Näin otat salatun nimipalvelun käyttöön
- Palvelinnimi lähtee silti kättelyn alussa
- DNS-vuoto: tunneli toimii, kyselyt eivät kulje siinä
- Näin testaat, mikä nimipalvelin on oikeasti käytössä
- Kenelle luottamus siirtyy
- Mitä tästä kannattaa ottaa käyttöön
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Lukko osoiterivillä lupaa vähemmän kuin moni olettaa. Se kertoo, että selaimen ja palvelimen välinen liikenne on salattua: sivun sisältö, lomakkeet ja osoitteen loppuosa eivät näy matkalla. Se ei kerro mitään siitä, näkyikö kohteen nimi ulkopuolelle ennen kuin salaus alkoi. Ja yleensä näkyi.
Syy on ketjun järjestyksessä. Ennen kuin mitään voidaan salata, laitteen pitää tietää minne ottaa yhteys. Se selviää nimipalvelusta, ja nimipalvelun kysely on tehty aikana, jolloin salausta ei ajateltu. Tämän vuoksi salatun yhteyden ympärillä on kaksi kohtaa, joissa kohteen nimi liikkuu suojaamattomana. Kannattaa käydä ketju läpi ennen kuin miettii ratkaisuja, koska muuten korjaa väärää kohtaa.
Yhteyden avaus vuotaa kolmessa kohdassa
Kun kirjoitat osoitteen ja painat enteriä, tapahtuu neljä vaihetta peräkkäin. Taulukko näyttää, mitä kussakin liikkuu ja kuka sen voi nähdä.
| Vaihe | Mitä siinä liikkuu | Kuka voi nähdä |
|---|---|---|
| Nimikysely | Verkkotunnus selkokielisenä, jos DNS ei ole salattu | Lähiverkko, operaattori ja kyselyyn vastaava nimipalvelin |
| Yhteyden avaus | Kohteen IP-osoite | Operaattori ja jokainen välissä oleva verkko |
| TLS-kättely | Palvelimen nimi kättelyn alussa selkokielisenä | Sama joukko kuin edellä |
| Salattu liikenne | Sivun polku, sisältö ja lomakkeet salattuna | Vain selain ja palvelin |
Kaksi ensimmäistä riviä ovat sitä, mistä tässä artikkelissa on kyse. Nimipalvelun perustoiminta, eli miten kysely etenee välimuistista juurelta alaspäin, on selitetty erikseen artikkelissa DNS selitettynä. Mitä lukko ja varmenne oikeasti todistavat, on avattu artikkelissa HTTPS ja varmenteet.
Miksi nimikysely on yhä selkokielinen
Nimipalvelu suunniteltiin verkon alkuaikoina, kun uhkamalli oli toinen. Kysely lähetetään pienenä pakettina, tavallisesti UDP-protokollalla, eikä siihen kuulu salausta eikä vastapuolen tunnistamista. Käytettävän nimipalvelimen laite saa yleensä automaattisesti reitittimeltä, joka on saanut sen operaattorilta. Näin ollen oletustilanteessa operaattorisi näkee jokaisen selvittämäsi nimen, aikaleiman kanssa.
Tämä on myös syy siihen, että nimipalvelu on kätevä paikka estoille. Kun jokin sivusto halutaan estää operaattoritasolla, esto toteutetaan usein juuri nimipalvelussa: kysely saa vastaukseksi jotain muuta kuin oikean osoitteen. Sama tekniikka toimii myös mainosten ja haittasivustojen suodattamiseen, jos valitset suodattavan nimipalvelimen tietoisesti.
Kaikki sivunavaukset eivät silti tuota kyselyä. Vastaukset jäävät välimuistiin sekä laitteelle että selaimeen, ja niillä on voimassaoloaika. Toistuvat käynnit samalla sivustolla voivat siis kulkea ilman uutta kyselyä, mikä ei kuitenkaan muuta kokonaiskuvaa: ensimmäinen käynti näkyy aina.
Salatun nimipalvelun kolme muotoa
Salattu nimipalvelu tarkoittaa, että kysely kulkee suojatussa yhteydessä sinun ja valitsemasi nimipalvelimen välillä. Muotoja on kolme, ja ero on lähinnä siinä, miltä liikenne näyttää ulospäin.
| Muoto | Mihin se perustuu | Miten se näkyy verkossa |
|---|---|---|
| DNS over TLS | Salattu yhteys omassa portissaan | Erottuu muusta liikenteestä, on siksi helppo tunnistaa ja estää |
| DNS over HTTPS | Kyselyt kulkevat HTTPS-pyyntöinä | Sekoittuu tavalliseen verkkoliikenteeseen, vaikea erottaa |
| DNS over QUIC | Sama idea QUIC-yhteyden päällä | Uusin muoto, tuki on vielä epätasainen |
Käytännön ero tavalliselle käyttäjälle on pieni. HTTPS-muotoinen on yleisin selaimissa, koska se toimii myös verkoissa, jotka rajoittavat muita portteja. Laitetason asetuksissa vastaan tulee usein TLS-muoto. Molemmat suojaavat saman asian: kyselyn sisällön matkalla.
Olennaista on huomata, mitä ne eivät suojaa. Salattu kysely päättyy nimipalvelimelle, joka lukee sen selkokielisenä. Palvelin myös kysyy tarvittaessa eteenpäin auktoritatiiviselta nimipalvelimelta, joka näkee kyselyn tulevan tuolta palvelimelta. Nimi ei siis katoa mihinkään, vaan sen alkuperä peittyy.
Näin otat salatun nimipalvelun käyttöön
Asetuksia on kolmella tasolla, ja ne eivät korvaa toisiaan. Etene tässä järjestyksessä.
- Päätä taso. Selaimen asetus koskee vain kyseistä selainta. Käyttöjärjestelmän asetus koskee kaikkia ohjelmia. Reitittimen asetus koskee kaikkia kotiverkon laitteita, myös niitä joissa ei ole omaa asetusta.
- Selaimessa asetus löytyy tietosuoja- tai turvallisuusasetuksista, ja se on nimetty yleensä suojatuksi tai salatuksi nimipalveluksi. Valitse joko valmis palveluntarjoaja listalta tai syötä osoite itse.
- Käyttöjärjestelmässä asetus on verkkoyhteyden asetuksissa. Androidissa se on nimeltään yksityinen DNS, muissa järjestelmissä nimitykset vaihtelevat versioittain. Tee asetus erikseen wifille ja mobiiliyhteydelle, jos järjestelmä pitää niitä erillisinä.
- Reitittimessä asetus on nimipalvelinten kohdalla, jos laite tukee salattua muotoa. Huomaa, että tällöin salaus alkaa vasta reitittimeltä: kotiverkon sisäinen matka laitteelta reitittimelle on yhä suojaamaton.
- Tarkista, etteivät tasot riitele. Jos selaimessa on yksi salattu palvelin ja käyttöjärjestelmässä toinen, kyselysi jakautuvat kahdelle toimijalle, ja saat kaksi tarkkailijaa yhden sijaan.
- Varmista, ettei mikään lakkaa toimimasta. Työpaikan sisäverkon nimet ja kotiverkon laitenimet eivät välttämättä ratkea ulkopuoliselta palvelimelta. Jos jokin sivu tai palvelu lakkaa aukeamasta, oireiden tunnistamiseen on oma ohjeensa artikkelissa nimipalveluvian tunnistaminen.
Palvelinnimi lähtee silti kättelyn alussa
Vaikka nimikysely olisi salattu, kohteen nimi liikkuu vielä kerran suojaamattomana. Kun selain avaa salatun yhteyden, se kertoo kättelyn ensimmäisessä viestissä, mille palvelinnimelle yhteys on tulossa. Tieto tarvitaan, koska yhden IP-osoitteen takana voi olla satoja sivustoja ja palvelimen pitää tietää, minkä varmenteen se lähettää. Tuo ensimmäinen viesti lähtee ennen kuin salaus on voimassa, joten se on luettavissa.
Kättelyn salaava laajennus on olemassa, mutta se ei ole yleisesti käytössä. Sen pitää olla tuettuna sekä selaimessa että palvelun päässä, ja se nojaa lisäksi nimipalvelusta haettavaan tietoon. Käytännössä kannattaa siis olettaa, että palvelinnimi näkyy verkon tarkkailijalle, ellei liikennettä ole erikseen tunneloitu.
Vaikka nimi olisi piilossa, kohteen IP-osoite ei ole. Monella pienellä sivustolla osoite riittää tunnistamaan kohteen yksiselitteisesti. Suurten jakeluverkkojen takana olevat sivustot jakavat osoitteita keskenään, jolloin osoite kertoo vähemmän. Se, mitä osoitteesta ylipäätään voi päätellä, on käyty läpi artikkelissa IP-osoite selitettynä.
DNS-vuoto: tunneli toimii, kyselyt eivät kulje siinä
DNS-vuoto tarkoittaa tilannetta, jossa varsinainen liikenne kulkee VPN-tunnelissa mutta nimikyselyt lähtevät sen ulkopuolelta. Lopputulos on harhaanjohtava: yhteys näyttää suojatulta, IP-osoite näyttää olevan toisessa maassa, ja silti lista vierailluista sivustoista valuu paikalliseen verkkoon tai operaattorille.
Vuoto syntyy tyypillisesti näistä syistä:
- Laite käyttää yhä sitä nimipalvelinta, jonka se sai reitittimeltä yhdistäessään verkkoon, koska VPN ei ohjannut kyselyitä uudelleen.
- Jaettu tunnelointi on käytössä, jolloin osa liikenteestä kiertää tunnelin ohi tarkoituksella.
- VPN käsittelee vain IPv4-liikenteen, ja laitteen IPv6-kyselyt menevät suoraan ulos.
- Selaimen oma salattu nimipalvelu ja VPN:n nimipalvelu ovat eri toimijoita, jolloin kyselyt jakautuvat kahtia eivätkä molemmat kulje tunnelissa.
- Vierasverkon kirjautumisportaali ohjaa kaikki nimikyselyt itselleen, mikä on tarpeen portaalin toiminnalle mutta rikkoo oletuksen tunnelista.
VPN:n todellinen suoja ja sen rajat on käsitelty erikseen artikkelissa VPN selitettynä rehellisesti. Tässä olennaista on vain se, että tunnelin olemassaolo ei todista nimikyselyiden kulkevan siinä. Julkisessa verkossa tämä on käytännössä merkityksellisin vuoto, koska silloin tarkkailija on lähellä ja tuntematon. Julkisen verkon todelliset riskit on eritelty artikkelissa julkinen wifi.
Näin testaat, mikä nimipalvelin on oikeasti käytössä
Testaus kannattaa tehdä kahdessa osassa: ensin katsotaan mitä laite luulee käyttävänsä, sitten mitä ulkopuolelta näkyy.
- Katso laitteen oma tila. Windowsissa komento
ipconfig /alllistaa käytössä olevat nimipalvelimet, Linuxissaresolvectl statusja macOSissascutil --dns. - Tee kysely käsin, esimerkiksi komennolla
nslookupja jollakin verkkotunnuksella. Vastauksen alussa näkyy, mikä palvelin vastasi. - Yhdistä VPN ja toista molemmat kohdat. Jos vastaava palvelin on yhä reitittimen tai operaattorin osoite, kyselyt eivät kulje tunnelissa.
- Käytä lisäksi vuototestisivua, jos VPN-palvelusi tarjoaa sellaisen. Testisivu näkee vain sen palvelimen, joka kysyi sen puolesta, joten tulos kertoo reitin eikä henkilöä.
- Muista, että komentorivin testi kertoo vain käyttöjärjestelmän tilanteen. Jos selaimessa on oma salattu nimipalvelu, selain voi käyttää täysin eri palvelinta kuin muu järjestelmä. Testaa selaimen asetussivulta erikseen.
- Toista testi jokaisessa verkossa erikseen. Asetukset ovat usein verkkokohtaisia, joten kotona toimiva asetus ei välttämättä ole voimassa mobiiliverkossa tai vierailla wifi-verkoilla.
Jos huomaat vuodon, korjaus on yleensä yksinkertainen: aseta VPN käyttämään omia nimipalvelimiaan, poista jaettu tunnelointi käytöstä tai kytke selaimen oma salattu nimipalvelu pois, jotta koko laite käyttää samaa reittiä.
Kenelle luottamus siirtyy
Salattu nimipalvelu ei tee kyselyistä näkymättömiä. Se päättää, kuka ne näkee. Operaattorin sijasta lokia voi kerätä valitsemasi palveluntarjoaja, joka näkee sekä nimet että IP-osoitteesi eli riittävän yhdistelmän profiilin muodostamiseen. Tämä on aito valinta, ei tekninen automaatio, ja se kannattaa tehdä tietoisesti.
Kysy palveluntarjoajasta neljä asiaa: kuka sitä ylläpitää, missä maassa se toimii, mitä kyselyistä tallennetaan ja kuinka pitkäksi aikaa, ja millä rahalla toiminta pyörii. Suomalainen teleyritys on sidottu viestinnän luottamuksellisuutta koskevaan sääntelyyn ja on viranomaisvalvonnan piirissä. Ulkomainen nimipalvelu toimii oman maansa sääntöjen mukaan, mikä voi olla parempi tai huonompi asia tilanteesta riippuen. Yhtä oikeaa vastausta ei ole, ja tästä on alalla aitoa erimielisyyttä.
Kannattaa myös muistaa, mihin kysymys ei ulotu. Sivusto itse tietää joka tapauksessa, että kävit, ja kirjautuneena se tietää kuka olet. Selaimen tunnisteet toimivat riippumatta siitä, miten nimi ratkaistiin. Sitä puolta käsittelee artikkeli verkkoseuranta ilman evästeitä.
Mitä tästä kannattaa ottaa käyttöön
Järjestys on tärkeämpi kuin työkalujen määrä.
- Ota salattu nimipalvelu käyttöön laitetasolla eikä vain selaimessa, jotta sama asetus koskee kaikkia ohjelmia.
- Valitse palveluntarjoaja tietoisesti ja käytä samaa kaikilla laitteillasi.
- Jos käytät VPN:ää, anna sen hoitaa nimikyselyt ja testaa asia kerran komentoriviltä.
- Älä oleta, että salattu nimipalvelu piilottaa vierailut sivustolta itseltään, mainosverkoilta tai palvelulta, johon olet kirjautunut.
- Muista, että yksityinen selaus ei liity tähän lainkaan. Se tyhjentää selaushistorian laitteelta eikä vaikuta siihen, mitä verkossa näkyy.
Realistinen lopputulos on tämä: salattu nimipalvelu poistaa yhden helpon ja laajan tarkkailupisteen, ja siihen se riittää hyvin. Se ei tee selailusta anonyymia, koska yhteyden avaus ja itse palvelu paljastavat kohteen joka tapauksessa. Hyvä syy ottaa se käyttöön on silti olemassa: se rajaa pois tilanteen, jossa jokainen avaamasi sivusto kirjautuu jonnekin ilman että olet valinnut minne.
Usein kysytyt kysymykset
Piilottaako HTTPS sen, millä sivustolla käyn?
Ei kokonaan. HTTPS salaa sivun sisällön, polun ja lomaketiedot, mutta kohteen IP-osoite ja yleensä myös palvelimen nimi näkyvät yhteyden avauksessa. Lisäksi nimikysely tehdään ennen salausta, joten se voi näkyä erikseen. Salaus suojaa siis sisältöä, ei kohteen valintaa.
Mikä on DNS-vuoto?
DNS-vuoto tarkoittaa, että liikenne kulkee VPN-tunnelissa mutta nimikyselyt lähtevät sen ohi paikalliselle tai operaattorin nimipalvelimelle. Silloin lista vierailluista sivustoista näkyy ulkopuolelle, vaikka yhteys näyttää suojatulta. Vuodon voi tarkistaa katsomalla, mikä nimipalvelin vastaa kyselyihin VPN:n ollessa päällä.
Kannattaako salattu DNS ottaa käyttöön selaimessa vai laitteessa?
Laitetasolla, jos vaihtoehto on olemassa, koska se kattaa myös muut ohjelmat kuin selaimen. Selaimen asetus on hyvä silloin, kun laitteen asetuksiin ei pääse käsiksi. Kahta eri palveluntarjoajaa yhtä aikaa kannattaa välttää, koska silloin kyselyt jakautuvat kahdelle toimijalle.
Näkeekö operaattori enää sivustojani, jos käytän salattua DNS:ää?
Nimikyselyt eivät enää näy operaattorille, mutta kohteen IP-osoite näkyy edelleen ja palvelinnimi lähtee yleensä selkokielisenä yhteyden avauksessa. Käytännössä operaattori voi siis usein päätellä kohteen, vaikka nimipalvelu olisi salattu. Nimien keräämisen helppous kuitenkin loppuu.
Estääkö salattu DNS mainoksia tai seurantaa?
Ei sinänsä. Salaus koskee kyselyn matkaa, ei sen sisältöä. Jos valitset nimipalvelimen, joka suodattaa mainos- ja haittasivustoja, suodatus tulee palvelimen ominaisuutena eikä salauksesta. Selaimen tunnisteisiin ja kirjautumiseen perustuva seuranta jatkuu joka tapauksessa.
Voiko salattu DNS rikkoa jotain kotona tai työpaikalla?
Voi. Työpaikan sisäverkon nimet, kotiverkon laitenimet ja jotkin vierasverkkojen kirjautumisportaalit toimivat vain paikallisen nimipalvelimen kautta. Jos jokin lakkaa toimimasta heti asetuksen jälkeen, poista salattu nimipalvelu käytöstä kyseisessä verkossa ja katso korjaantuuko oire.