19 min. skaityti

DNSSEC: Apibrėžimas, veikimo principai ir svarba

Domenų vardų sistema DNS veikia kaip interneto telefonų knyga ir milijardus kartų per dieną išverčia žmogaus skaitomus vardus į IP adresus. DNS duomenų bazėje saugomi svarbiausi DNS įrašai, pavyzdžiui, IP adresai ir domenų slapyvardžiai, todėl ji tampa kibernetinių grėsmių taikiniu. Tačiau ši ypatingos svarbos infrastruktūra buvo sukurta devintajame dešimtmetyje be integruotos apsaugos. Tradicinis DNS patvirtinimas rėmėsi atsakymų atitikimu tam pačiam IP adresui, o tai yra nesaugu, nes IP adresus galima suklastoti. DNSSEC sukurta siekiant ištaisyti šią esminę spragą, papildant kriptografiniu tikrinimu sistemą, kuri iš pradžių veikė tik pasitikėjimo pagrindu.

DNSSEC glaustai

Domain Name System Security Extensions”, paprastai žinomas kaip DNSSEC, reiškia ” DNS Security Extensions” ir yra IETF protokolo specifikacijų rinkinys, kuriuo DNS duomenys papildomi kriptografiniais parašais. Šie parašai leidžia DNS adresatams patikrinti, ar gauta informacija iš tikrųjų buvo gauta iš autoritetingo šaltinio ir ar ji nebuvo pakeista.

Pagrindinė DNSSEC sprendžiama problema yra paprasta: be jos įsilaužėliai gali į serverių talpyklas įvesti suklastotus DNS atsakymus. Ši ataka, vadinama DNS talpyklos apnuodijimu, nukreipia naudotojus į kenkėjiškas svetaines be jų žinios. DNSSEC užkerta tam kelią, nes leidžia autentifikuoti duomenų kilmę ir užtikrina DNS įrašų vientisumą skaitmeniniais parašais, naudoja viešojo rakto kriptografiją ir reikalauja kruopštaus DNS zonos raktų valdymo, kad būtų išvengta apsimetinėjimo ir duomenų klastojimo.

Interneto inžinerijos darbo grupė (IETF) 2000-ųjų pradžioje DNSSEC standartizavo keliais RFC, įskaitant RFC 4033, 4034 ir 4035. Svarbiausias diegimo etapas įvyko 2010 m. liepos mėn., kai ICANN pasirašė DNS šakninę zoną ir sukūrė visuotinį pasitikėjimo inkarą, kuris leido praktiškai diegti DNSSEC visame pasaulyje.

Labai svarbu suprasti, ką DNSSEC daro ir ko nedaro. DNSSEC autentifikuoja DNS duomenis – patvirtina, kadA, AAAA, MX ir TXT įrašai yra tikri ir nepakeisti. Tačiau jis nešifruoja DNS užklausų ar atsakymų. Jūsų DNS srautas išlieka matomas visiems, kurie gali jį stebėti. Šifravimui reikia papildomų protokolų, pavyzdžiui, DNS per TLS arba DNS per HTTPS.

DNSSEC taip pat neužkerta kelio visoms atakoms prieš DNS infrastruktūrą. DDoS atakos vis tiek gali užvaldyti DNS serverius, nepaisant pasirašymo. Be to, DNSSEC negali sustabdyti naudotojų nuo apsilankymo teisėtai registruotuose sukčiavimo domenuose, kurie atrodo įtikinamai.

Įgyvendinti DNSSEC gali būti sudėtinga, nes reikia valdyti raktus ir sukurti pasitikėjimo grandinę. Norint sėkmingai įdiegti DNSSEC, reikia, kad pagrindinė zona ir visos grandinėje esančios zonos taip pat būtų pasirašytos.

Šiandien DNSSEC palaiko dauguma aukščiausiojo lygio domenų – ICANN duomenimis, pasirašyta daugiau nei 1400 aukščiausiojo lygio domenų. Tačiau antrojo lygio domenų pritaikymas rodo kitokią istoriją. Tik maždaug 1-2 % .com zonų įjungtas DNSSEC, o šalių kodų aukščiausiojo lygio domenų, pavyzdžiui, .nl (Nyderlandai) ir .se (Švedija), pasirašymo lygis viršija 90 % dėl privalomos politikos.

Kodėl jums tai turėtų rūpėti? Nes be DNSSEC kiekviena DNS užklausa, kurią atlieka jūsų organizacija, yra pažeidžiama ir ja galima tyliai manipuliuoti. Užpuolikas, užkrėtęs jūsų sprendiklio talpyklą, gali nukreipti jūsų darbuotojus į svetaines, kuriose renkami duomenys, arba perimti el. pašto pristatymą – ir visa tai nesukelia jokių akivaizdžių įspėjimų.

Kaip DNS ir DNSSEC dera tarpusavyje

Prieš gilindamiesi į DNSSEC, trumpai priminsime, kaip šiandien veikia domenų vardų sistema. Kai naršyklėje įvedate URL adresą, kompiuterio stuburo skirstytuvas susisiekia su rekursiniu DNS skirstytuvu, kurį dažnaiteikia interneto paslaugų teikėjas, įmonės tinklas arba viešoji paslauga, pavyzdžiui, „Google” 8.8.8.8.8 arba „Cloudflare” 1.1.1.1.1. DNS skirstytuvas apdoroja DNS užklausas, sekdamas serverių grandine, kad gautų teisingą IP adresą, taip užtikrindamas veiksmingą ir tikslią rezoliuciją.

Apsvarstykite galimybę išspręsti www.example.com. Rekursinis DNS sprendiklis pirmiausia užklausia vieną iš 13 loginių šakninių DNS vardų serverių, prašydamas informacijos apie .com. Šakninis serveris atsako nukreipdamas į ” Verisign” valdomus .com aukščiausiojo lygio domeno serverius. Tada sprendiklis užklausia .com serverių apie example.com ir gauna dar vieną nuorodą į example.com autoritetinį vardų serverį. Galiausiai sprendiklis užklausia autoritetingąjį serverį ir gauna tikrąjį A įrašą, kuriame nurodytas IP adresas www.example.com.

Šioje hierarchinėje sistemoje įvairūs DNS komponentai, tokie kaip išteklių įrašai, autoritetingi vardų serveriai ir zonų pasirašymo raktai, kartu valdo, kontroliuoja ir saugo kiekvieną DNS zoną.

Ši elegantiška hierarchinė sistema buvo apibrėžta 1987 m. RFC 1034 ir 1035. Problema? Klasikinis DNS protokolas buvo sukurtas be stipraus autentiškumo patvirtinimo. Atsakymai buvo tikrinami pirmiausia pagal šaltinio IP adresus ir 16 bitų sandorio ID –sistema, kuria įsilaužėliai išmoko pasinaudoti.

2008 m. Kaminskio pažeidžiamumas parodė, kokia pažeidžiama buvo ši konstrukcija. Saugumo tyrėjas Danas Kaminskis parodė, kad užpuolikai, per vieną užklausos langą pateikdami daugybę spėjimų, gali su didele tikimybe įterpti suklastotus atsakymus į skirstytuvų talpyklas. Šis atskleidimas paskatino skubius pataisymus visoje pramonėje ir gerokai paspartino DNSSEC diegimą visame pasaulyje.

DNSSEC integruojamas kaip išplėtimo sluoksnis, kuris apima esamą DNS, nekeičiant pagrindinio užklausos ir atsakymo modelio. Nepažymėtosios zonos ir toliau normaliai veikia su nepatvirtinančiais pertvarkymo serveriais. Patvirtinantys resolveriai tiesiog atlieka papildomus pasirašytų zonų kriptografinius patikrinimus. Šis atgalinis suderinamumas buvo labai svarbus, kad būtų galima palaipsniui priimti DNS vardų erdvę.

Pagrindinės DNSSEC sąvokos ir įrašų tipai

DNSSEC įdiegta keletas naujų DNS išteklių įrašų tipų, kurie kartu sukuria patikrinamą pasitikėjimo grandinę. Suprasti šiuos įrašus ir jų sąsajas labai svarbu kiekvienam, dirbančiam su pasirašytomis zonomis.

Pagrindinis DNSSEC vienetas yra išteklių įrašų rinkinys (RRSet). Tai DNS įrašų, turinčių tą patį pavadinimą, tipą ir klasę, grupė. DNSSEC pasirašo ne atskirus įrašus, o ištisus RRS rinkinius. Šis metodas užtikrina atominį vientisumą – negalima suklastoti vieno rinkinio įrašo, nepanaikinus visų jų parašų.

RRSIG įraše yra skaitmeninis parašas, apimantis RRSet. Kiekviename išteklių įrašo paraše, sukurtame naudojant zonos privatųjį raktą, pateikiami tokie metaduomenys kaip pasirašytojo vardas, galiojimo laikotarpis ir naudotas algoritmas. Sprendikliai šiuos parašus tikrina iš naujo apskaičiuodami RRSet duomenų hešą ir sutikrindami jį su kriptografiniu parašu.

DNSKEY įraše skelbiamas viešasis raktas, naudojamas parašui patikrinti. Šie įrašai rodomi zonos viršūnėje (pvz., example.com.) ir juose yra žymos, nurodančios rakto vaidmenį. Žymos reikšmė 256 reiškia zonos pasirašymo raktą, o 257 – rakto pasirašymo raktą.

DS įrašas, arba delegacijos pasirašymo įrašas, sukuria ryšį tarp patronuojančiosios ir pavaldžiosios zonų. Jame, saugomame patronuojančioje zonoje, yra kriptografinis pavaldžiosios zonos viešojo rakto hash. Pavyzdžiui, example.com DS įrašas saugomas .com zonoje, todėl adresatai gali patikrinti, ar example.com DNSKEY įrašas yra autentiškas. Kiekvienos zonos viešąjį raktą pasirašo jos patronuojančios zonos privatusis raktas, kuris yra labai svarbus DNSSEC pasitikėjimo grandinei sukurti. Šis procesas užtikrina, kad pasitikėjimas perduodamas iš patronuojančios zonos į pavaldžią zoną ir taip sukuriama saugi ir patikrinama hierarchija.

NSEC ir NSEC3 įrašai leidžia autentiškai paneigti egzistavimą. Kai DNS užklausoje prašoma neegzistuojančio vardo, šie įrašai įrodo, kad tokio vardo tikrai nėra – taip užkertamas kelias įsilaužėliams teigti, kad neegzistuojantys vardai yra tikri. NSEC esamus vardus rikiuoja surūšiuota tvarka, o NSEC3 naudoja kriptografiškai suglaudintus įrašų vardus, kad būtų išvengta lengvo zonos turinio išvardijimo.

CDS ir CDNSKEY įrašai palaiko automatinį raktų valdymą. Tai leidžia pavaldžiosioms zonoms pranešti apie atnaujintą DS arba DNSKEY informaciją patronuojančioms zonoms, todėl sumažėja rankinio derinimo su registratoriais, kurio paprastai reikia rankiniu būdu.

Ypatingo dėmesio nusipelno zonos pasirašymo rakto (ZSK) ir rakto pasirašymo rakto (KSK) atskyrimas. ZSK pasirašo įprastus zonos duomenis (A, AAAA, MX įrašus), o KSK pasirašo tik patį DNSKEY RRSet. Toks atskyrimas leidžia operatoriams dažnai kaitalioti ZSK, o stabilesnį KSK ir su juo susijusį DS įrašą pagrindinėje zonoje išlaikyti nepakeistą.

Vardų sistemos saugumo plėtiniai

Vardų sistemos saugumo plėtiniai (NSSE) – tai išsamus protokolų ir standartų rinkinys, skirtas domenų vardų sistemos (DNS) saugumui stiprinti. NSSE pagrindas yra DNSSEC, kuriame DNS duomenims autentifikuoti ir jų vientisumui užtikrinti naudojami skaitmeniniai parašai ir viešojo rakto kriptografija. Pagrindinis šių sistemos saugumo išplėtimų tikslas – apsisaugoti nuo tokių grėsmių, kaip DNS suklastojimas ir DNS talpyklos apsinuodijimas – atakų,kuriomis galima manipuliuoti DNS duomenimis ir nukreipti naudotojus į apgaulingas svetaines.

Naudodamiesi vardų sistemos saugumo plėtiniais, domenų savininkai gali užtikrinti, kad su jų domenais susiję DNS duomenys būtų autentiški ir nepakitę keliaujant internetu. Tai pasiekiama naudojant viešojo rakto infrastruktūrą, kai kiekvienoje pasirašytoje zonoje skelbiamas viešasis raktas, kuriuo naudodamiesi adresatai tikrina DNS įrašų skaitmeninius parašus. Todėl naudotojai ir taikomosios programos gali pasitikėti, kad iš domenų vardų sistemos gaunama informacija yra teisėta, o tai padeda išlaikyti naudotojų pasitikėjimą ir apsisaugoti nuo įvairių kibernetinių grėsmių.

Kaip veikia DNSSEC patvirtinimas nuo pradžios iki galo

DNSSEC patvirtinimas atliekamas pagal DNS perskyrimo kelią, tikrinant nuo žinomo pradinio taško, vadinamo patikimumo inkaru. Daugumoje resolverių šis inkaras yra šakninės zonos KSK, platinamas per IANA ir resolverio programinės įrangos atnaujinimus. Kai tvirtinantis rekursinis resolveris tvarko pasirašyto domeno užklausą, jis atlieka kriptografinę patikrą kiekviename DNS hierarchijos žingsnyje. Rezoliveris jau pasitiki šakniniu DNSKEY. Naudodamasis šiuo raktu, jis patikrina šakninės zonos RRSIG, apimantį DS įrašą, skirtą aukščiausio lygio domenui (pvz., .com). Tada jis surenka .com DNSKEY ir patikrina, ar jis atitinka DS hash. Šis procesas tęsiamas iki tikslinio domeno.

Apsvarstykite užklausą www.example.com visiškai pasirašytoje aplinkoje. Sprendiklis patikrina:

  • Šaknies DNSKEY (patikimas inkaras) pasirašo .com DS įrašą
  • .com DNSKEY atitinka DS hash ir pasirašo example.com DS įrašą
  • example.com DNSKEY sutampa su jo DS ir pasirašo www A įrašą

Taip sukuriama nenutrūkstama pasitikėjimo grandinė nuo šakninio serverio iki prašomo DNS įrašo. Bet koks nesutapimas – negaliojantis parašas, pasibaigęs RRSIG arba DS/DNSKEY hash klaida – nutraukia grandinę.

Patvirtinimo nesėkmes galite pastebėti naudodami bandomuosius domenus, pavyzdžiui, dnssec-failed.org, kuriuos ICANN tyčia neteisingai sukonfigūravo. Patvirtinimo serveriai grąžina SERVFAIL šiam domenui ir visiškai užblokuoja prieigą. Vartotojams, kurie naudojasi nepatvirtintais skirstytuvais (vis dar apie 70 % visame pasaulyje), domenas išsprendžiamas normaliai – tai rodo, kad dabartinis diegimas yra nepakankamas.

DNSSEC nekeičia taikomųjų protokolų, tokių kaip HTTP ar SMTP. Jis tiesiog užtikrina, kad IP adresas ir kiti DNS duomenys, kuriuos gauna taikomosios programos, būtų autentiški ir nepakeisti. Naršyklė vis tiek įprastai užmezga HTTPS ryšį; DNSSEC tik garantuoja, kad DNS užklausos atsakymai bus nukreipti į teisėtą serverį.

Autentifikuoto egzistavimo paneigimo atveju NSEC arba NSEC3 įrašai įrodo, kad užklausiamas vardas arba tipas neegzistuoja. Sprendiklis gauna kriptografiškai pasirašytą įrodymą, rodantį, kurie vardai zonoje egzistuoja, ir gali patvirtinti, kad užklausoje nurodytas vardas būtų rodomas.

DNSSEC išteklių įrašai praktikoje

Panagrinėkime pagrindinius su DNSSEC susijusius DNS įrašų tipus išsamiau.

RRSIG įrašai generuojami naudojant zonos privatųjį raktą – įprastinių įrašų atveju paprastai ZSK. Kiekviename paraše nurodomas pasirašymo algoritmas (pvz., ECDSAP256SHA256), pasirašyto vardo etikečių skaičius, pradinis TTL ir pasirašymo pradžios ir pabaigos laiko žymos. Šios laiko žymos yra labai svarbios: rezoliucijų serveriai atmeta parašus už jų galiojimo ribų, kurios paprastai yra 30 dienų. Kad išvengtų patvirtinimo klaidų, zonos operatoriai turi atsisakyti įrašų prieš pasibaigiant jų galiojimui.

DNSKEY įrašai rodomi zonos viršūnėje ir gali turėti kelis raktus per atnaujinimo laikotarpius. Žymos laukas skiria rakto vaidmenis: 257 reiškia KSK su nustatytu SEP (saugaus įvesties taško) bitu, o 256 – ZSK. Rakto žyma – 16 bitų identifikatorius, apskaičiuotas pagal rakto duomenis, – padeda sprendėjams greitai suderinti DNSKEY įrašus su atitinkamais DS įrašais.

DS įrašuose patronuojančioje zonoje yra pavaldžiosios zonos KSK hash. Tipiniame DS įraše yra rakto žymė, algoritmo numeris, šifravimo tipas (dažniausiai SHA-256) ir pats šifras. DNSSEC patvirtinimo metu adresavimo serveriai gauna vaiko DNSKEY, apskaičiuoja hash ir palygina. Jei nesutampa, gaunama BOGUS būsena, todėl patvirtinimas nepavyksta.

NSEC įrašai grandininiu būdu išdėstyti zonos pavadinimų kanonine rūšiuota tvarka. Kiekvienas NSEC nukreipia į kitą esamą vardą ir išvardija to vardo įrašų tipus. Tai įrodo, kad zona neegzistuoja, tačiau jos turinys gali būti naudojamas „vaikščiojimui po zoną” – užpuolikai gali išvardyti kiekvieną vardą sekdami grandine.

NSEC3 sprendžia zonų vaikščiojimo problemą, prieš grandininį sujungimą pavadinimus išnarstydama druska ir iteracijų skaičiumi. Nors tai užkerta kelią trivialiam išvardijimui, ryžtingi įsilaužėliai vis tiek gali nulaužti nuspėjamus vardus neprisijungę. Atsisakymo vėliava leidžia nepasirašytus delegavimus pasirašytose zonose– tai naudinga didelėms zonoms, kuriose yra daug nepasirašytų subdomenų.

CDS ir CDNSKEY įrašai atspindi DS ir DNSKEY formatus, tačiau jie skelbiami pačioje pavaldžiojoje zonoje. Tėvinės zonos operatoriai gali apklausti šiuos įrašus, kad automatiškai atnaujintų delegacijos parašo įrašus, taip supaprastindami raktų perkėlimą ir pradinį DNSSEC diegimą.

DNS įrašų grupavimas

Pagrindinis DNSSEC įgyvendinimo aspektas yra DNS įrašų grupavimas į išteklių įrašų rinkinius (angl. Resource Record Sets, RRSets). RRSet – tai DNS įrašų, turinčių tą patį pavadinimą ir tipą zonoje, rinkinys. DNSSEC pasirašo ne kiekvieną atskirą įrašą, o visą RRS rinkinį vienu RRSIG įrašu. Taikant šį metodą supaprastinamas DNS duomenų pasirašymo ir patvirtinimo procesas, todėl jis tampa efektyvesnis tiek domenų savininkams, tiek tvirtinantiems adresatus.

Grupuojant DNS įrašus į RRSetus ne tik supaprastinamas DNSSEC įgyvendinimas, bet ir pagerinamas DNS infrastruktūros valdymas. Pakeitus bet kurį RRSet įrašą, visas rinkinys pasirašomas iš naujo, taip užtikrinant visų susijusių DNS duomenų vientisumą ir autentiškumą. Domenų savininkams tai reiškia, kad mažiau sudėtinga valdyti parašus ir patikimiau apsisaugoti nuo klastojimo ar neleistinų DNS įrašų pakeitimų. Galiausiai DNS įrašų grupavimas yra geriausia praktika, padedanti užtikrinti šiuolaikinės DNS infrastruktūros mastelio keitimą ir saugumą.

Zonos pasirašymo raktas, pasirašymo režimai ir rakto valdymas

DDNSSEC raktų valdymas apima du skirtingus vaidmenis. Zonos pasirašymo raktu (ZSK ) kasdien pasirašomi zonos duomenys – A, AAAA, MX, TXT ir kiti įprasti įrašai. Rakto pasirašymo raktas (KSK) atlieka ribotesnę, bet labai svarbią funkciją: jis pasirašo tik DNSKEY RRSet, sukurdamas patikimą nuorodą į pagrindinės zonos DS įrašą.

Veiklos vykdytojai šiuos vaidmenis skiria dėl svarbių priežasčių. ZSK privatusis raktas naudojamas dažnai ir jam gresia didesnė rizika, todėl jo rotacija kas 30-90 dienų sumažina galimą žalą dėl kompromitavimo. KSK keičiamas retai – kartą per metusar rečiau, neskiekvieną kartą keičiant reikia atnaujinti DS įrašą pagrindinėje zonoje, o tam paprastai reikia registratoriaus koordinavimo.

Įgyvendinant DNSSEC yra trys pagrindiniai pasirašymo režimai:

  • Pasirašymas neprisijungus prie interneto: Zona pasirašoma oro aprėpties kompiuteryje arba HSM, tada pasirašytas zonos failas perduodamas į autoritetingus serverius. Geriausiai tinka statinėms zonoms, kai saugumas yra svarbesnis už darbo patogumą.
  • Centralizuotas pasirašymas internetu: Pasirašymo paslauga gauna nepasirašytus atnaujinimus ir pasirašo juos prieš išsiunčiant į autoritetingus DNS serverius. Subalansuotas saugumas ir dinamiškų atnaujinimų palaikymas.
  • Pasirašymas „On-the-fly”: Autoritetiniai serveriai generuoja DNSSEC parašus realiuoju laiku, kai gaunamos DNS užklausos. Tinka labai dinamiškoms zonoms, tačiau padidėja rakto atskleidimo rizika, jei serveriai pažeidžiami.

Norint išvengti pasitikėjimo grandinės nutrūkimo, rakto perjungimą reikia atidžiai planuoti laiku. Pagal standartinį metodą nauji raktai skelbiami iš anksto: naujas raktas įtraukiamas į DNSKEY RRSet, palaukiama, kol baigsis talpyklos galiojimo laikas (paprastai du TTL laikotarpiai), tada senasis raktas pašalinamas. Atliekant KSK perkėlimą, prieš pašalinant senąjį KSK, naujasis DS taip pat turi būti perkeltas į pagrindinę zoną.

2018 m. įvykęs šakninis KSK apvirtimas parodė, kokie yra statymai. Nepaisant kruopštaus pasiruošimo, maždaug 0,3 % adresatų nepavyko atnaujinti savo pasitikėjimo inkarų, todėl buvo gauti laikini SERVFAIL atsakymai. Vienai zonai tokios klaidos gali atrodyti nereikšmingos, tačiaudėl jų paveiktiems naudotojams domenas faktiškai tampa neprieinamas.

Deleguotasis signataras

Įrašas „Delegation Signer” (DS) yra kertinis DNSSEC patikimumo grandinės akmuo, susiejantis pavaldžiosios zonos saugumą su jos patronuojančiąja zona DNS hierarchijoje. DS įraše pateikiama kriptografiškai užhašuota pavaldžiosios zonos rakto pasirašymo rakto (angl. Key Signing Key, KSK) versija, kuri skelbiama patronuojančioje zonoje. Tai leidžia rekursiniams adresatams patikrinti, ar pavaldžiosios zonos pateiktas DNSKEY įrašas yra autentiškas ir nebuvo suklastotas.

Užmezgant šį ryšį, DS įrašas leidžia domenų savininkams išplėsti pasitikėjimą nuo pagrindinės zonos iki savo DNS duomenų, užtikrinant, kad kiekvienas perskyrimo proceso žingsnis būtų patvirtintas. Šis mechanizmas labai svarbus visos DNS infrastruktūros vientisumui išlaikyti, nes neleidžia įsilaužėliams bet kurioje grandinės vietoje įvesti apgaulingų DNS duomenų. Tinkamai sukonfigūruoti delegavimo pasirašymo įrašus domenų savininkams yra labai svarbus žingsnis diegiant DNSSEC ir apsaugant savo domenus nuo DNS atakų.

DNSSEC privalumai ir apribojimai

Pagrindinė DNSSEC reikšmė – apsisaugoti nuo DNS talpyklos užteršimo ir DNS suklastojimo atakų. Kriptografiškai įrodydamas atsakymo autentiškumą, jis neleidžia užpuolikams tyliai nukreipti naudotojų į sukčiavimo svetaines arba perimti el. pašto per fiktyvius MX įrašus. 2008 m. „Kaminsky” pažeidžiamumas parodė, kokios pražūtingos gali būti tokios atakos; dėl DNSSEC jos tampa iš esmės neveiksmingos prieš pasirašytas zonas.

DNSSEC suteikia ne tik pagrindinę apsaugą, bet ir galimybę naudoti pažangias saugumo programas. DANE (DNS-Based Authentication of Named Entities) leidžia domenų savininkams skelbti TLS sertifikatų informaciją tiesiogiai DNS, naudojant TLSA įrašus. Taip galima patikrinti SMTP serverių ar žiniatinklio paslaugų sertifikatus, nepasikliaujant vien tradicinėmis sertifikatų institucijomis. Tokioms taikomosioms programoms reikalingi autentiški DNS duomenys – būtent tai užtikrina DNSSEC.

Ne mažiau svarbu suprasti ir apribojimus:

  • Konfidencialumo nėra: DNSSEC autentifikuoja, bet nešifruoja. DNS užklausos ir DNS užklausų atsakymai išlieka matomi stebėtojams. Šifravimui reikia DNS per TLS arba DNS per HTTPS.
  • Nėra apsaugos nuo DDoS: DNSSEC negali sustabdyti tūrinių atakų prieš DNS infrastruktūrą. Tiesą sakant, didesni pasirašyti atsakymai gali pabloginti stiprinimo atakas.
  • Nėra apsaugos nuo teisėtai atrodančių grėsmių: DNSSEC negali apsaugoti nuo typosquattingo ar vartotojų, pasitikinčių klaidinančiais domenų vardais, kurie yra teisėtai registruoti ir tinkamai pasirašyti.

Našumo sumetimai apima gerokai didesnius DNS atsakymus – parašaiprideda maždaug 500 baitų vienam RRSet. Tai kartais sukelia TCP grįžtamąjį ryšį (padidėja vėlavimas) ir padidėja pralaidumo suvartojimas. Atviri DNSSEC resolveriai gali 50 kartų ar daugiau sustiprinti atspindžio atakas, palyginti su paprastu DNS.

Nepaisant šių kompromisų, saugumo organizacijos, įskaitant ICANN ir NIST, rekomenduoja DNSSEC didelės vertės domenams. Papildomos išlaidos yra realios, tačiau viešosioms paslaugoms, kai DNS suklastojimas gali sudaryti sąlygas rimtoms atakoms, apsauga pateisina sudėtingumą.

Rizika, iššūkiai ir priežastys, kodėl priėmimas vis dar nėra vienodas

DNSSEC kelia operacinę riziką, kuri paaiškina didžiąją dalį vangumo priimant DNSSEC. Netinkamos konfigūracijos – pasibaigę parašai, DS/DNSKEY neatitikimai arba negaliojančios parašų grandinės – sukelia patvirtinimo nesėkmes. Maždaug 30 % naudotojų, naudojančių tvirtinančius resolverius, neteisingai sukonfigūruota zona paprasčiausiai nustoja veikti. Nėra laipsniško blogėjimo; užklausos grąžina SERVFAIL.

DNSSEC diegimą lėtina kelios kliūtys:

  • Daugiašalis koordinavimas: Pasirašymas reikalauja domenų savininkų, registratorių ir DNS prieglobos paslaugų teikėjų veiksmų suderinimo. DS įrašai turi būti perduodami per registratorių sistemas, kad pasiektų pagrindinę zoną.
  • Kompetencijos spragos: Daugeliui organizacijų trūksta DNSSEC patirties. Baimė, kad dėl netinkamos konfigūracijos gali sutrikti darbas, neleidžia joms pradėti.
  • Paveldėta infrastruktūra: Kai kuriose įmonių aplinkose yra skirstytuvų ar įrenginių, kurie nevisiškai palaiko DNSSEC patvirtinimą, todėl kyla suderinamumo problemų.

Įvaikinimo statistika rodo nevienodą pažangą. Pagrindinė DNS zona pasirašoma nuo 2010 m., o DNSSEC palaiko daugiau nei 1400 aukščiausio lygio domenų. Tačiau antrojo lygmens priėmimas labai skiriasi. Dėl registro paskatų ir privalomos politikos .nl zonoje pasirašyta daugiau kaip 95 %. Tuo tarpu .comzonoje tokių domenų yra apie 1,5 % – milijonaidomenų vis dar nepasirašyti.

APNIC atliktų matavimų duomenimis, visame pasaulyje DNSSEC patvirtinimą atlieka apie 30 % DNS adresų rinkmenų, o 2018 m. tokių buvo apie 10 %. Pažanga tęsiasi, tačiau dauguma galutinių naudotojų vis dar gauna nepatvirtintus DNS atsakymus.

DNSSEC taip pat kelia ne tik patvirtinimo klaidų, bet ir kitų saugumo klausimų. Dėl didelių pasirašytų atsakymų autoritetingi serveriai tampa patrauklūs DNS stiprinimo atakoms. Kad netaptų nesąmoninga atakų infrastruktūra, operatoriai turi įdiegti atsakymų spartos ribojimą ir laikytis geriausios praktikos, susijusios su serverių konfigūravimu.

Pagrindinės organizacijos ir toliau pasisako už platesnį diegimą. ICANN skelbia diegimo vadovus, o nacionalinės kibernetinio saugumo agentūros vis dažniau rekomenduoja DNSSEC valstybiniams ir ypatingos svarbos infrastruktūros domenams. Prognozuojama, kad iki 2030 m. antrojo lygio diegimas gali pasiekti 50 %, nes automatizavimas naudojant CDS/CDNSKEY sumažins operacijų trintį.

Realios operacijos: DNS šakninės zonos pasirašymo ceremonija ir pasitikėjimo inkarai

DNSSEC architektūroje DNS šakninė zona užima išskirtinę vietą. Kadangi nėra patronuojančios zonos, kurioje būtų galima pateikti DS įrašą, šakninės zonos KSK turi būti pasitikima ne ryšio zonoje kaip galutiniu pasitikėjimo inkaru. Tinkamas šios funkcijos atlikimas turi didžiulę reikšmę –nuo čia prasideda kiekvienaDNSSEC pasitikėjimo grandinė.

ICANN 4-6 kartus per metus saugiose patalpose JAV ir Europoje rengia šaknų pasirašymo ceremonijas. Šios ceremonijos susijusios su ypatinga procedūrine kontrole: Šaknies privatusis raktas saugomas aparatiniuose saugumo moduliuose (HSM), prie kurių prieiga suteikiama tik tada, kai vienu metu keli kriptografijos pareigūnai naudoja išmaniąsias korteles ir PIN kodus. Fizinės apsaugos priemonės apima apsauginius maišelius, stebimus seifus ir išsamią vaizdo dokumentaciją.

2010 m. liepos mėn. pradėjus pasirašyti šakninę zoną, DNSSEC nuo teorijos pereita prie praktinio diegimo visame pasaulyje. 2018 m. KSK apvertimas – originalios 2010 m. KSK pakeitimas į KSK-2016 – patikrino sistemos gebėjimą atnaujinti pagrindinį pasitikėjimo inkarą. Nepaisant plataus masto informavimo, apie 0,2 % sprendėjų susidūrė su problemomis dėl pasenusios programinės įrangos ar konfigūracijos. Ateityje planuojama pereiti prie naujos versijos 2020-ųjų viduryje.

Rekursyviniai skirstytuvai gauna šakninį pasitikėjimo inkarą per programinės įrangos platinimo programas arba automatinius atnaujinimo protokolus, kuriuos prižiūri IANA. Šiuolaikinė pertvarkymo programinė įranga paprastai apima dabartinius inkarus ir atnaujinimų gavimo mechanizmus, užtikrinančius, kad keičiantis raktams pasitikėjimo grandinė išliktų nepažeista.

Šios apeigos gali atrodyti sudėtingos, tačiau jos suteikia pagrįstą garantiją. Šakninės zonos vientisumas yra DNSSEC pagrindas visame pasaulyje, o dokumentuotas, audituojamas procesas suteikia pasitikėjimo, kad ši ypatingos svarbos infrastruktūra veikia su atitinkamu griežtumu.

DNSSEC diegimas jūsų domenuose

Ar esate pasirengę įjungti DNSSEC savo domenams? Procesas apima kelis etapus – nuo patikros iki nuolatinės priežiūros.

Būtina patvirtinti:

  • Jūsų TLD palaiko DNSSEC (patikrinkite ICANN diegimo išteklius)
  • Jūsų registratorius priima DS įrašų pateikimą
  • Jūsų DNS prieglobos paslaugų teikėjas palaiko zonos pasirašymą ir DNSKEY valdymą

Daugelis valdomų DNS paslaugų teikėjų, pavyzdžiui, „Cloudflare” ir ” AWS Route 53″, pasirašymą tvarko automatiškai. Savarankiškai valdomoms zonoms reikės pasirašymo įrankių, suderinamų su jūsų autoritetingo serverio programine įranga.

Tipiniai diegimo etapai:

  1. Generuoti ZSK ir KSK poras (arba įjungti teikėjo valdomą pasirašymą)
  2. Pasirašykite DNS zoną ir patikrinkite DNSSEC parašus vietoje
  3. Publikuoti DNSKEY įrašus (ir pasirinktinai CDS/CDNSKEY automatiniam DS valdymui)
  4. DS įrašų pateikimas per registratoriaus sąsają
  5. Leiskite laiko sklaidai, tada patikrinkite visą grandinę

Patvirtinimas taip pat svarbus. Jei jūsų organizacijoje veikia rekursyviniai skirstytuvai, įjunkite DNSSEC patvirtinimą (pvz., dnssec-validation yes BIND sistemoje). Atlikite testą su žinomais domenais: tinkamai pasirašytos svetainės turėtų grąžinti AD (autentifikuotų duomenų) žymą, o dnssec-failed.org – SERVFAIL.

Geriausia veiklos praktika:

  • Stebėti parašo galiojimo laiką: RRSIG paprastai galioja 30 dienų. Automatizuotai atsistatydinkite likus pakankamai laiko iki galiojimo pabaigos.
  • Išbandykite klavišų apvertimą: Prieš pradedant gamybą, išbandykite perkėlimo procedūrą bandomojoje aplinkoje.
  • Įgyvendinti įspėjimą: Konfigūruokite DNSSEC patvirtinimo nesėkmių stebėseną savo pertvarkytuvuose.
  • Dokumentuoti procedūras: Aiškūs procedūrų vadovai padeda išvengti panikos per incidentus ar suplanuotus pertvarkymus.

Tikslios sąsajos skiriasi priklausomai nuo registratoriaus ir paslaugų teikėjo, todėl sutelkite dėmesį į pagrindinių užduočių supratimą, o ne konkrečių mygtukų paspaudimų įsiminimą. Tikslas – įdiegti DNSSEC nesukeliant trikdžių – kruopštuspasiruošimas ir testavimas leidžia tai pasiekti.

Geriausia DNSSEC praktika

Norint sėkmingai įdiegti DNSSEC, reikia ne tik įjungti parašus – reikia nuolat skirti dėmesio detalėms ir laikytis geriausios pramonės praktikos. Domenų savininkai turėtų teikti pirmenybę reguliariam raktų kaitaliojimui, kad būtų sumažinta raktų kompromitavimo rizika, ir užtikrinti, kad visi privatūs raktai būtų saugomi saugiai, geriausiai naudojant aparatinius apsaugos modulius arba kitas apsaugotas aplinkas.

Būtina nuolat stebėti DNSSEC patvirtinimą; tai apima parašo galiojimo pabaigos datų stebėjimą ir skubų įrašų atsisakymą, kol jų galiojimas nepasibaigė. Taip pat svarbu patikrinti, ar visi DNS infrastruktūros komponentai – autoritetiniai serveriai, rekursyviniai skirstytuvai ir registratoriaus sąsajos – visiškai palaiko DNSSEC įgyvendinimą ir patvirtinimą.

Kitas svarbus žingsnis – bandymas. Domenų savininkai turėtų reguliariai tikrinti, ar jų DNS duomenys teisingai pasirašomi ir patvirtinami, naudodami įrankius ir bandomuosius domenus, kad imituotų sėkmingo ir nesėkmingo patvirtinimo scenarijus. Laikydamiesi šios geriausios praktikos, domenų savininkai gali išlaikyti atsparią DNS infrastruktūrą, apsaugoti savo naudotojus nuo DNS atakų ir užtikrinti nuolatinį savo domenų vardų sistemos vientisumą ir patikimumą.

Išvados ir tolesni veiksmai

DNSSEC pakeičia domenų vardų sistemą iš pasitikėjimo viskuo architektūros į kriptografinio tikrinimo skaitmeniniais parašais ir hierarchinės pasitikėjimo grandinės architektūrą, kuri pašalina pažeidžiamumą, egzistavusį nuo pat DNS sukūrimo devintajame dešimtmetyje. Apsaugos mechanizmai – RRSIG parašai, DNSKEY/DS sąsajos ir autentifikuotas paneigimas per NSEC/NSEC3 – užkerta kelią DNS talpyklos apnuodijimo ir DNS suklastojimo atakoms, kurios priešingu atveju galėtų nejučia nukreipti vartotojus. Jei esamuose DNS įrašuose yra suklastotų DNS duomenų, tikrinantys peradresatoriai tiesiog visiškai atmeta suklastotus DNS duomenis.

Nepaisant veiklos sudėtingumo, DNSSEC nuo 2010 m., kai buvo pasirašyta šaknis, gerokai patobulėjo. Platus aukščiausiojo lygio domenų palaikymas, gerėjantis automatizavimas naudojant CDS/CDNSKEY ir didėjantis resolverių patvirtinimo rodiklis – visa tai rodo pagreitį. Pagrindinės saugumo organizacijos jį remia domenų, kuriuose klastojimas gali padaryti didelės žalos, atveju.

Už DNS infrastruktūrą atsakingi asmenys gali imtis šių praktinių tolesnių veiksmų:

  • Aprašykite, kurie domenai ir zonos šiuo metu yra pasirašyti
  • Planuokite laipsnišką DNSSEC diegimą, pradėdami nuo svarbiausių viešai prieinamų paslaugų.
  • Jei įmanoma, įgalinkite DNSSEC patvirtinimą vidiniuose skirstytuvuose.
  • DNSSEC gedimų stebėsenos ir reagavimo į incidentus procedūrų nustatymas

Kiti mokymosi šaltiniai – pagrindiniai DNSSEC RFC (4033, 4034, 4035), ICANN ir regioninių tinklo informacijos centrų diegimo vadovai ir testavimo priemonės, pavyzdžiui, „Verisign” DNSSEC analizatorius. Kelias nuo supratimo iki veiksmų yra aiškesnis nei bet kada anksčiau, o saugumo nauda pateisina investicijas.