DNSSEC lahendusest üldiselt
Sissejuhatus
Järgnevate tekstidega töötamiseks on vajalik tunda tavalise DNS kasutamist ja haldamist. DNSSEC valdkonnaga tegeleva tarkvara võiks funktsionaalses mõttes jaotada neljaks
- DNSSEC tsooni haldamise tarkvara (nt PowerDNS, OpenDNSSEC) - muu hulgas on ülesandeks DNSSEC sisuga tsoonide tekitamine sh signatuuride moodustamine
- DNSSEC tsooni serveerimise tarkvara (nt NSD) - ettevalmistatud DNSSEC sisuga tsooni internetist kättesaadavaks tegemine, pädev nimeserver
- DNSSEC nimelahenduse tarkvara (nt Unbound) - DNSSEC võimaluste kasutamine nimede lahendamisel kasutaja töökohaarvutist kasutatavas rekursiivses nimeserveris
- DNSSEC nimelahenduse lõppkasutaja tarkvara (nt Postfix, Chrome) - kuidas paistab DNSSEC kasutamine nö tavalisest töökohaarvutist
Praktiliselt on ka võimalik mitu funktsiooni käivitada samaaegselt, nt BIND tarkvaraga.
Tööpõhimõte
- DNSSEC kasutamisega ei kaasne andmete saladus, st nii päring kui vastus liiguvad üle võrgu avatekstina
- DNSSEC kasutamisega kaasneb põhiliselt terviklus, st vastuse saaja saab olla kindel, et temani jõudis vastus sellisena nagu see autentse allika poolt välja saadeti
- DNSSEC ei ole nn end-to-end security (nii nagu näiteks https://), st tavaliselt töökohaarvuti kasutab dnssec-enabled rekursiivset nimeserverit, mis tegeleb dnssec validation'iga; kui kasutaja poolt esitatud päringule saabus võltsitud vastus, siis päringu esitaja jaoks dns nimelahendus lihtsalt ei töötanud
- DNSSEC turvalisus on sõnumi-põhine (mitte kanali-põhine nagu nt https:// puhul)
DNSSEC tehnoloogia üks erilisus seisneb selles, et kasutatakse ära olemasolevat tavalist nn DNS-plain infrastruktuuri (päringuvastuste puhverdamine resolverites jms). DNSSEC andmestik on ettevalmistatud, st erinevalt nt https:// juhtumist, kus päringu esitamisega kaasneb, et server moodustab kliendiga koostöös turvalise kanali just käesoleva suhtlemiskorra jaoks ja andmed liiguvad seal, DNSSEC andmestik on ette ära moodustatud ja seda kasutatakse.
Ettevalmistatud andmestiku kasutamine teeb lihtsamaks replay attack ründe, st kui päringu esitajale antakse pahalase poolt võltsitud vastus. DNSSEC puhul ei ole see täisti välistatud, aga selle mõju piiratakse vastuste kehtivusaja kasutamisega (rrset signature validity period). Osutub, et eraldi märkimisväärne väljakutse on anda autentne vastus nimekirje puudumise kohta.
Osutub, et DNSSEC töötamiseks on oluline, et nn DS hashide ahel toimib. Seejuures iseenesest nimelahendusel kasutatud kõik domeeninimed ei pea lahenema dnssec mõttes korrektselt, nt
- olgu domeeni test.moraal.ee nimeserveriteks ns1.katki.moraal.ee ja ns2.katki.moraal.ee
- lähtepunktiks on et test.moraal.ee ja katki.moraal.ee domeenid töötavad dnssec mõttes korrektselt
- seejärel lõhutakse katki.moraal.ee domeeni dnssec ära selliselt, et dns-plain jääb tööle (nt serveeritakse vananenud rrsig andmeid)
- osutub, et nö lõppkasutaja dnssec töötab edasi ftp.test.moraal.ee nime valideerimisel
Sellise nähtuse seletuseks on, et dnssec kasutab ftp.test.moraal.ee nime lahendamisel neid andmeid, mis kasutada on. Ja kuigi ta jõuab ns1.katki.moraal.ee ja ns2.katki.moraal.ee nimesele vastavate serverite ip aadresside juurde (ja ka nende serverite juurde) mööda mitte-usaldusväärset teed pidi, lõpuks usalduse ahel on toimiv ja dnssec abil on nime ftp.test.moraal.ee dnssec validation õnnestunud.
DNSSEC tsooni haldamise tarkvara
DNSSEC tsooni haldamise tarkvaraga tekitatakse signeeritud tsoon. Seda saab teha mitmel viisil, järgnevalt kirjeldatud kahte lahendus võiks iseloomustada selliselt
- PowerDNS - kõik ühes lahendus, ei ole nii paindlik kui OpenDNSSEC, ei võimaldada kasutada HSM'i ja paistab vähem nö corporate lahendus, kuid saab kiiresti käima ja teeb töö ära
- OpenDNSSEC - spetsialiseeritud lahendus ainutl tsooni signeerimiseks, on vaja sisendiks ühte nimeserverit lähte-andmete jaoks ja väljundiks teist, mis serveerib signeeritud tsooni internetti
PowerDNS
Vt PowerDNS Authoritative Server nimeserveri kasutamine
OpenDNSSEC
Vt OpenDNSSEC kasutamine operatsioonisüsteemiga Debian
Pädeva nimeserveri tarkvara
Pädeva nimeserveri ülesanne on teenindada avalikus internetis rekursiivseid nimeservereid (mitte lõppkasutajaid, lõppkasutajad kasutavad oma organisatsiooni rekursiivseid nimeservereid).
NSD
Vt Pädeva nimeserveri NSD v. 4 kasutamine operatsioonisüsteemiga Debian
Rekursiivse nimeserveri tarkvara
Rekursiivse nimeserveri ülesanne on teenindada oma organisatsiooni lõppkasutajaid (nende töökohaarvuteite või serverite dns nimede lahendamise vajadust). Rekursiivne nimeserver valideerib DNSSEC päringutele saadud vastuseid, annab kontrollitud vastused edasi ja kontrolli mitte läbinud vastuste kohta jõuab kasutajale 'servfail' veateade (brauseris esitatakse sel juhul sarnane veateada kui võrguühendus oleks katki).
Unbound
Vt Rekursiivse resolveri Unbound kasutamine operatsioonisüsteemiga Debian
DNSSEC nimelahenduse lõppkasutaja tarkvara
DNSSEC nimelahenduse lõppkasutaja tarkvaraks on nt kasutaja töökohaarvutis töötavad programmi, serveris töötavad programmi vms, mis esitavad nimepäringuid ja mis saavad arvutisse seadistatud DNSSEC-võimeliselt nimeserverilt vastuse. Tundub, et lõppkasutaja tarkvara ise ei saa reeglina aru DNSSEC'indusest, talle lihtsalt antakse kolme sorti vastuseid
- kui ta esitas päringu, mida ei saanud valideerida kuna vastava domeeni haldaja ei ole juurutanud DNSSEC'i, siis ta sai vastuse, mida ei valideeritud (brauserisse tekib värviline pilt)
- kui ta esitas päringu, mida sai valideerida ja valideerimine õnnestus, siis ta sai vastuse (brauserisse tekib värviline pilt)
- kui ta esitas päringu, mida sai valideerida, aga valideerimine ei õnnestunud, siis ta ta vastuseks servfail (brauserisse antakse võrguühenduse vea sarnane teade, värvilist pilti ei teki)
Probleemid
- DNS võimenduse rünne on DNSSEC puhul oluliselt efektiivsem kuna vastuse maht on reeglina suurem kui dns-plain puhul