DNS: aloittelijan opas internetin nimipalvelujärjestelmään
DNS-järjestelmä (Domain Name System) osoittaa IP-osoitteen verkkotunnukselle (domain name), ja sillä on merkittävä rooli verkkoviestinnässä. DNS on ikään kuin internetin osoitekirja tai puhelinluettelo. Lue artikkelistamme, miten tämä internetin nimipalvelu toimii.
Sisällysluettelo
Mikä on DNS?
DNS:n määritelmä
DNS on lyhenne sanoista Domain Name System, ja suomeksi sitä kutsutaan nimellä internetin nimipalvelu. Kyseessä on ikään kuin internetin puhelinluettelo. Domain Name viittaa verkkotunnukseen, eli internet-sivuston osoitteeseen. DNS on läsnä kaikessa internetin selaamisessamme: ilman sitä joutuisimme selaamisessamme nojautumaan IP-osoitteisiin.
Kun kirjoitat verkkoselaimesi osoitepalkkiin verkkotunnuksen, kuten google.com, sinä siirryt kyseiselle verkkosivustolle, mutta taustalla tapahtuu yhtä ja toista, sillä verkkoselaimet toimivat IP-osoitteiden perusteella. DNS-järjestelmän rooli on kääntää verkkotunnukset IP-osoitteiksi, jotta sinä pääset haluamallesi verkkosivustolle. DNS-osoite puolestaan viittaa DNS-palvelimen osoitteeseen.
Käytännössä verkkotunnuksen kääntäminen IP-osoitteeksi tapahtuu niin, että osoitteen kirjoitettuasi laite lähettää pyynnön DNS-palvelimelle. Sen jälkeen IP-osoite yhdistetään verkko-osoitteeseen, ja sinä siirryt haluamaasi osoitteeseen.
Toisin sanoen, ilman DNS-järjestelmää joutuisimme suunnistamaan internetissä IP-osoitteiden perusteella. IP-osoitteet ovat numerosarjoja tai numero- ja kirjainsarjoja, joten niiden muistaminen olisi huomattavasti haastavampaa kuin verkkosivuston kirjaimilla kirjoitetun nimen, kuten google.com, muistaminen.
DNS on siis läsnä päivittäisessä ja arkisessa internetin selaamisessa. Siksi onkin hyvä ymmärtää sen toimintaperiaatteet ja tutustua myös DNS-järjestelmään liittyviin turvallisuusriskeihin ja julkisen ja yksityisen DNS:n eroihin. Jatka lukemista, niin opit kaiken olennaisen DNS-järjestelmää koskien.
Miksi DNS kehitettiin?
Internetin alkuaikoina IP-osoitteita ei osoitettu verkkotunnuksille automaattisesti, vaan tästä työstä oli vastuussa Elizabeth Feinler, joka työskenteli tietokonetieteilijänä Stanford Research Institutessa. IP-osoitteita ja niihin liitettyjä verkkotunnuksia hallinnoitiin siis manuaalisesti.
On sanomatta selvää, että tämä varhainen järjestelmä osoittautui hyödyttömäksi, kun internetin käyttö alkoi kasvaa: järjestelmän manuaalinen hallinnointi oli tullut tiensä päähän, eikä se ollut enää mahdollista. Oli siis kehitettävä uusi järjestelmä – ja arvasit oikein, tämä järjestelmä on DNS.
DNS-järjestelmän kehitti Paul Mockapetris vuonna 1983: hän loi dynaamisen järjestelmän, joka yhdisti IP-osoitteet ja verkkotunnukset automaattisesti ilman manuaalisen taulukon tarvetta. Verkkosivustoille voi edelleen siirtyä kirjoittamalla sivuston IP-osoitteen osoitepalkkiin, mutta Mockapetrisin ansiosta voimme käyttää suoraan verkkotunnuksia. Hän tarjosi DNS-tiedon ilmaiseksi kaikkien saataville.
Miten DNS toimii?
Kuten yllä mainittiin, DNS toimii internetiä käytettäessä taustalla – käyttäjän ei tarvitse huolehtia DNS-järjestelmästä. DNS muuntaa verkkotunnuksen nimen eli sivuston osoitteen IP-osoitteeksi, jollainen on jokaisella laitteella internetissä. Aivan näin yksinkertainen prosessi ei kuitenkaan ole, vaan siihen liittyy useita vaiheita ja erilaisia DNS-palvelimia. Mikä on DNS-palvelin? Niitä on erilaisia. Katso alta lisätietoa DNS-palvelintyypeistä:
4 erilaista DNS-palvelinta
- Rekursiivinen nimipalvelin. Tätä palvelinta kutsutaan myös nimellä DNS-resolver eli DNS-ratkaisija. DNS-pyynnöt siirtyvät ensimmäiseksi tälle palvelimelle, jota internet-palveluntarjoajasi käyttää. IP-osoite saattaa olla jo tällä palvelimella, joten se tarkistetaan ensin. Jos IP-osoitetta ei löydy, pyyntö siirtyy seuraavaksi juuripalvelimelle.
- Juuripalvelin. Rekursiivinen nimipalvelin lähettää kyselyn juuripalvelimelle, joka auttaa kääntämään kirjaimilla kirjoitetun verkkotunnuksen numeroista muodostuvaksi IP-osoitteeksi. Tämä palvelin auttaa tarkentamaan hakua ja löytämään oikean sijainnin. Miksi pyyntö sitten lähtee ensin rekursiiviselle nimipalvelimelle? Koska DNS-kyselyitä tapahtuu niin paljon, DNS-ratkaisijoiden rooli on myös pitää kyselyt hallinnassa.
- Ylätason domain-palvelin. Jos tätä palvelinta verrataan kirjastoon, kyseessä ei ole pelkästään oikea osasto, vaan oikean osaston oikea hylly. Rekursiivinen nimipalvelin pyytää IP-osoitetta ylätason domain-palvelimelta juuripalvelimen välityksellä.
- Virallinen nimipalvelin. Tämä on neljäs ja viimeinen palvelin DNS-kyselyprosessissa, ja DNS-nimipalvelin sisältää kyselyn kohteena olevan verkkotunnuksen ja sitä vastaavan IP-osoitteen. Kun IP-osoite on saatu selville, tämä tieto palaa rekursiiviselle nimipalvelimelle, joka puolestaan palauttaa sen käyttäjän selaimelle.
DNS-kysely
Katsotaan seuraavaksi tarkemmin, miten DNS-kysely etenee käyttäjän näkökulmasta. Mikä on DNS-kysely? DNS-kysely tarkoittaa verkkotunnuksen etsimistä, jotta sen IP-osoite voidaan saada selville sopivalta DNS-palvelimelta. DNS-haku tapahtuu, kun käyttäjä kirjoittaa selaimensa hakupalkkiin tietyn verkkosivun osoitteen.
Verkkotunnuksia voi tarkistaa myös manuaalisesti, ja selvittää samalla mitkä IP-osoitteet viittaavat suoraan tiettyihin verkkotunnuksiin. Esimerkiksi teknologiajätti Google käyttää lukuisia juuripalvelimia ja sillä voi olla lukuisia erilaisia verkkotunnuksia. Käyttämällä esimerkiksi verkkosivustoa whois.com, on mahdollista tarkistaa verkkotunnusten IP-osoitteita ja päin vastoin.
Kun kirjoitat verkkosivuston osoitteen selaimeen ja painat Enteriä, hakuprosessi alkaa automaattisesti. DNS-kyselyt kulkevat yllä mainittujen palvelinten kautta oikean IP-osoitteen hankkimiseksi.
Näin DNS-kysely etenee askel askeleelta:
- Selaimeen kirjoitetaan verkkotunnus eli verkkosivuston osoite.
- Seuraavaksi selain lähettää viestin verkkoon selvittääkseen, mihin verkkoon tai mille IP-osoitteelle verkkotunnus kuuluu.
- DNS-resolver eli rekursiivinen nimipalvelin vastaanottaa kyselyn. Jos IP-osoitetta ei ole tallennettu DNS-välimuistiin, tämä palvelin lähettää lisää kyselyitä muille palvelimille.
- Juuripalvelimet ja ylätason domain-palvelin vastaanottavat kyselyn ja tarkentavat hakua selvittäen, mistä oikean IP-osoitteen voi löytää.
- Viimeinen etappi on virallinen nimipalvelin, josta haetut tiedot löytyvät.
- Tieto siirtyy takaisin rekursiiviselle nimipalvelimelle, joka antaa selaimelle oikean IP-osoitteen, jolloin käyttäjä pääsee vierailemaan sivustolle. Tässä vaiheessa tämä palvelin myös tallentaa tiedon välimuistiin, jotta seuraavalla kerralla samalle sivulle siirtyessään hakua ei tarvitse tehdä.
Vaikka kaikki tämä eri palvelinten välinen liikenne ja yhteistyö voi kuulostaakin mutkikkaalta, DNS-haku tapahtuu välittömästi. Jos taas sivustoille siirtyminen on hidasta, taustalla voi olla DNS-palveluun liittyvä ongelma, tai jonkinlainen DNS-hyökkäyksen muoto – joskin syitä hitaaseen selaamiseen voi olla paljon muitakin.
Rekursiivinen nimipalvelin luotiin reagoimaan ja vastaamaan DNS-kyselyihin ja se voi selvittää, mitä tietoa juuripalvelimelta täytyy saada. Joskus rekursiiviset nimipalvelimet joutuvat luomaan useita kyselyitä, jotta nimipalvelin löytyy. Rekursiivinen nimipalvelin voi vastata kyselyyn vain silloin, kun tulokset löytyvät muilta DNS-palvelimilta.
Viralliset nimipalvelimet ovat IP-osoitteen selvittämisen päätepiste, eli viimeinen DNS-palvelinketjun palvelin. Kun virallinen nimipalvelu saa kyselyn, sen ei tarvitse viestiä muiden palvelinten kanssa. Nimipalvelimella on jo tiedot, joita DNS-kyselyyn vastaamiseen tarvitaan. Rekursiivisen nimipalvelimen haku puolestaan on aina riippuvainen muista palvelimista tiedon hankkimisessa.
DNS-kyselyjen tyypit
DNS-kyselyt voi jakaa kolmeen eri tyyppiin.
- Rekursiivinen kysely. Rekursiivinen kysely tarkoittaa kyselyä, jonka DNS-ratkaisija lähettää eteenpäin toisten palvelinten ratkaistavaksi. Tässä kyselymuodossa tuloksena on oikea vastaus (tai virheilmoitus).
- Iteratiivinen kysely. Iteratiivinen kysely tarkoittaa sitä, että kysely voidaan tehdä useita kertoaja eri DNS-palvelimille. Jos vastausta ei löydy, kysely siirtyy muille DNS-palvelimille.
- Ei-rekursiivinen kysely. Tässä tapauksessa varsinainen kysely ei edisty, sillä vastaus on jo DNS-ratkaisijan eli rekursiivisen nimipalvelun tiedossa eli tallessa sen välimuistissa.
DNS-välimuisti
Useimmat selaimet ja käyttöjärjestelmät tallentavat DNS-tietoja välimuistiin. Tämä tekee verkon käytöstä nopeaa ja tehokasta. Välimuisti on pieni tietovarasto, jonka avulla latausajat voidaan minimoida. DNS-kyselyprosessia voidaan lyhentää välimuistia hyödyntämällä. Kuten yllä on jo käynyt ilmi, välimuistissa olevaa tietoa säilytetään rekursiivisella nimipalvelimella.
Jos selaimessa on DNS-välimuisti, oikeat tiedot löytyvät välittömästi välimuistista, eikä DNS-palvelinten kautta käytyä viestintää tarvita lainkaan – nopeus ja tehokkuus perustuu tähän. Välimuisti ei ole sidoksissa ainoastaan käyttöjärjestelmään tai selaimeen, vaan internet-palveluntarjoajalla on usein oma rekursiivinen nimipalvelimensa, mikä auttaa kaistanleveyden hallitsemisessa.
NordVPN:n DNS-palvelimet voidaan ottaa käyttöön automaattisesti laitteillasi, jolloin mahdolliset DNS-vuodot estetään. Näin siis varmistetaan, että DNS-hakusi eivät vuoda salatun VPN-yhteyden ulkopuolelle. Muista olla varuillasi kuitenkin DNS-välimuistin myrkytysten varalta – hakkerit käyttävät niitä huijatakseen käyttäjät vaarallisille sivustoille.
Kuka hallinnoi DNS-järjestelmää?
Internet-osoitteiden tunnuksia hallinnoi voittoa tavoittelematon järjestö nimeltä ICANN eli Internet Corporation for Assigned Names and Numbers. Se siis valvoo ja hallinnoi IP-osoitteiden osoittamista verkkotunnuksille, ja se myös säännöstelee tätä toimintaa. On siis ICANN-järjestön vastuulla, että DNS-järjestelmä toimii asianmukaisesti. Kyseessä on yhdysvaltalainen järjestö, joka perustettiin vuonna 1998.
Julkinen DNS vs. yksityinen DNS
DNS-palvelimet voi jakaa myös julkisiin ja yksityisiin. Niiden ero perustuu siihen, kenelle ja miten DNS on saatavilla – DNS-asetukset ovat siis erilaiset. Kuten arvata saattaa, julkiset DNS-palvelimet ovat kaikkien internetin käyttäjien ulottuvilla, ja ne selvittävät IP-osoitteet mille tahansa internetin sivustolle. Julkisiksi DNS-palvelimiksi kutsutaan internet-palveluntarjoajan ylläpitämiä palvelimia, ja tavallisesti internetin käyttäjät käyttävät tällaisia DNS-palvelimia.
Yksityistä DNS-palvelinta käytetään tyypillisesti erilaisissa organisaatioissa ja yrityksissä ja joissain verkoissa. Tällöin IP-osoitteet selvitetään sisäisesti eikä julkisessa internetissä. Oman DNS-palvelimen voi perustaa kuka tahansa, ja tällöin palvelimen omistaja voi hallita pääsyä verkkoon ja käytettäviin IP-osoitteisiin.
Kummassakin ratkaisussa on puolensa. Julkinen DNS-palvelin toimii nopeasti ja ratkaisee IP-osoitteet pikaisesti. On kuitenkin hyvä muistaa, että internet-palveluntarjoajien julkiset DNS-palvelimet myös säilyttävät tiedon hauista, eli ne tietävät, millä sivustoilla olet liikkunut. Tietoja DNS-kyselyistä myös säilytetään pitkään, sillä laki usein vaatii niin. Näin ollen yksityisyyttään vaalivat internetin käyttäjät suosivat yksityisiä DNS-palvelimia.
Helppo tapa hyödyntää yksityisten DNS-palvelinten tarjoamaa suojaa on VPN-palvelun käyttö. NordVPN käyttää yksityisiä DNS-palvelimia, joten sen tarjoama DNS-palvelu suojaa verkkoliikenteesi myös tässä mielessä. Internet-palveluntarjoajasi ei näin pysty säilyttämään tietoja DNS-kyselyistäsi, sillä se ei yksinkertaisesti näe niitä.
VPN-palvelun käyttöönotto on nopeaa ja helppoa, eikä se vaadi teknistä osaamista. Lisäksi se tarjoaa monenlaista muuta suojaa turvallisten DNS-palvelinten lisäksi: VPN salaa kaiken verkkoliikenteen, ja suojaa internetin käyttösi myös suojaamattomia Wi-Fi-verkkoja käyttäessäsi.
Verkkoturvallisuus käynnistyy napsautuksella.
Pysy suojattuna maailman johtavan VPN:n avulla
DNS-järjestelmään liittyviä turvallisuusriskejä
DNS-järjestelmään liittyy yksityisyyskysymysten lisäksi muitakin riskejä. Katso alta esimerkkejä DNS-järjestelmän turvallisuusriskeistä:
- DNS-välimuistin myrkytys. Tätä hyökkäysmuotoa kuvattiin jo yllä, sillä se liittyy DNS-välimuistiin. Tässä tapauksessa hakkeri syöttää väärää tietoa DNS-välimuistiin tarkoituksenaan ohjata sinut esimerkiksi haittaohjelmia sisältävälle sivustolle tai sivustolle, joka kerää tietojasi. Seurauksena uhri saattaa ladata laitteelleen haittaohjelman tai antaa yksityisiä tietoja, joita hakkerit voivat hyödyntää monenlaisiin tarkoituksiin. Tätä hyökkäysmuotoa kutsutaan myös nimellä DNS spoofing.
- Reflektiivinen DNS-hyökkäys. Tämä hyökkäysmuoto on DDoS-hyökkäys:, ja tavoitteena on saada uhrin (joko yksityishenkilön tai yrityksen tai muun organisaation) verkkotoiminta täysin pysähdyksiin. Tässä muodossa hyödynnetään avoimia DNS-palvelimia saamalla ne lähettämään suuren määrän DNS-tietoa uhrille, mikä saa aikaan järjestelmien lamaantumisen.
- DNS-resurssien tyhjennyshyökkäys. Tämän hyökkäysmuodon tarkoituksena on iskeä nimipalvelimeen saamalla aikaan valtava määrä DNS-kyselyitä. Tästä seuraa se, että internet-palveluntarjoajan nimipalvelin kuormittuu, jolloin asiakkaat eivät pääse käyttämään internetiä normaalisti.
Miten näitä turvallisuusriskejä voi torjua? Usein yksittäinen käyttäjä ei voi asialle juuri mitään, mutta etenkin DNS-välimuistin myrkytyksen kohdalla on tärkeää olla tarkkana ja opetella tunnistamaan huijaussivustot ja pidättäytyä lataamasta tiedostoja arveluttavilta sivustoilta ja olla erittäin tarkkana omia tietojaan syöttäessään.
Muissa tapauksessa hyödyllisintä on ottaa yhteyttä internet-palveluntarjoajaan. Usein palveluntarjoajat myös ilmoittavat mahdollisista käyttäjien toimintaan vaikuttavaista hyökkäyksistä sivustoillaan.