DNSSEC (Domain Name System Security Extensions) on DNS-i turvalaiendus, mis lisab krüptograafilised allkirjad DNS-kirjetele. Eesmärk on, et lahendav nimeserver saaks kontrollida: vastus tuli õigest allikast ja seda ei ole teel muudetud. See ei asenda HTTPS-i, kuid kaitseb nimesüsteemi kihti, mida HTTPS eeldab olevat usaldusväärne.
Miks DNSSEC .ee jaoks oluline on
Ilma DNSSEC-ita võib ründaja või võrguvahendaja proovida DNS-vastust võltsida (cache poisoning) ja suunata kasutaja vale IP-le. DNSSEC teeb sellise võltsingu tuvastatavaks: kui allkiri ei klapi, ei tohiks valideeriv resolver vastust kasutada. Eesti Interneti SA kirjeldab seda nii, et kasutaja jõuaks just sellele aadressile, mille ta sisestas – mitte petulehele, mis näeb välja sarnane.
DNSSEC on .ee tsoonis saadaval alates jaanuarist 2014. EIS kasutab kahe võtmepaari mudelit (KSK + ZSK), allkirjastamist SHA-256-ga ja eituse tõestust NSEC3-ga. Register võtab registripidajatelt vastu DNSKEY andmeid ja arvutab DS-kirje ise SHA-256 alusel. Võtmematerjal hoitakse HSM-ides; ZSK-sid rullitakse kvartaalselt, KSK-sid vastavalt vajadusele.
Kuidas .ee domeenile DNSSEC peale panna
Lihtsaim tee on DNSSEC täisteenus: registripidaja või nimeserveri teenusepakkuja loob võtmed, allkirjastab tsooni ja edastab avaliku võtme EISi. Siis ei pea sa ise BIND-i ega PowerDNS-i võtmerutiine haldama. Enne valikut uuri, kuidas teenusepakkuja salajasi võtmeid kaitseb, kui tihti neid vahetatakse ja kas on avalik DNSSEC Practice Statement (DPS). DNSSEC tugevus sõltub iga usaldusahela lüli võtmekaitsest.
Kui teed ise: seadista DNSSEC-tugi nimeserveris, loo võtmed (nt dnssec-keygen), allkirjasta tsoon (nt dnssec-signzone), edasta avalik KSK osa registripidajale, kes saadab selle EISi. Vale või aegunud DS/DNSKEY kombinatsioon võib teha domeeni lahendamatuks valideerivate resolverite jaoks – seega testi enne ja pärast muudatusi.
Kuidas kontrollida, kas DNSSEC töötab
Brauseritesse DNSSEC tugi sisseehitatud ei ole; kasutaja kaitse tuleb peamiselt lahendavast nimeserverist. Kontrollimiseks sobib näiteks dnsviz.net oma domeeni kohta. EIS pakub katkise ahelaga testdomeene katki.dnssec.ee ja broken.dnssec.ee: kui su resolver valideerib, ei tohiks neid lehti „edukalt“ avada. Google Public DNS (8.8.8.8 / 8.8.4.4 jt) toetab DNSSEC valideerimist.
Registripidajate võrdlustabelis saab filtreerida DNSSEC teenust. Kui su majutus ja register on eri firmad, veendu, kes allkirjastab tsooni ja kes edastab DNSKEY-d – vastutus peab olema üheselt paigas.
Seos HTTPS, DNS ja tavapraktikaga
DNSSEC kaitseb DNS-vastuste autentsust; HTTPS kaitseb HTTP-ühendust pärast seda, kui brauser juba IP-le jõudis. Mõlemad on vajalikud eri kihtidel. Enne DNSSEC-i lülitamist peaksid olema korras tavalised DNS-kirjed – vt DNS-kirjed selgitatuna – ning soovitavalt ka TLS, millest kirjutasime HTTPS juhendis. WHOIS-päring näitab muuhulgas, kas domeen on DNSSEC-iga allkirjastatud; andmete tõlgendamisest loe ka WHOIS artiklit.
Levinud vead
- DS-kirje jääb registrisse pärast võtmevahetust – domeen „kaob“ valideerivate klientide jaoks.
- Allkirjade aegumine, kui automaatne uuesti allkirjastamine on katki.
- Eeldus, et DNSSEC asendab sertifikaati või tulemüüri.
- Täisteenuseta isehakkamine ilma taasteplaanita.
Kokkuvõttes: DNSSEC on .ee-s küps ja registri poolt toetatud. Enamikele domeeniomanikele sobib registripidaja täisteenus; ise haldamine eeldab distsipliini võtmerullimisel. Pärast sisselülitamist kontrolli dnsviz.net-iga ja katki.dnssec.ee testiga, et valideerimine tõesti töötab.
Kellele DNSSEC esimesena
Prioriteet on kõrge e-teenustel, pankadel, riigi ja omavalitsuste lehtedel, e-poodidel ja kõikjal, kus vale DNS-suunamine tooks otsest kahju. Väikese visiitkaardi puhul on kasu väiksem, kuid täisteenuse hind on sageli madal või hinna sees – siis pole põhjust välja lülitatuna hoida. Kui kasutad välist DNS-teenust (nt eraldi DNS-hosting), peab DNSSEC olema seal toetatud; vastasel juhul jääb allkirjastamine pooleli.
Organisatsioonis lepi kokku, kes vastutab võtmerullimise eest ja mis on eskalatsioon, kui dnsviz.net näitab viga. Pane seirele meeldetuletus pärast iga suuremat DNS-muudatust. DNSSEC ei ole „sea ja unusta“ ilma automaatikata: käsitsi hallatud tsoonides unustatakse allkirjade uuendamine kergesti. Täisteenus vähendab seda riski, sest teenusepakkuja tööriistad allkirjastavad tavaliselt graafiku alusel.
Ära sega DNSSEC-i ja DNS-filtreerimist või firewall’i: need lahendavad erinevaid probleeme. Samuti ei peida DNSSEC WHOIS-andmeid ega asenda head paroolipoliitikat registripidaja kontol. Kui ründaja võtab üle sinu registrikonto, saab ta DNSKEY-d muuta või DNSSEC-i välja lülitada. Seega on mitmeastmeline autentimine registripidaja juures sama oluline kui allkirjad tsoonis.