DNSSEC

Drukāt

DNSSEC - DNS drošības paplašinājums

DNSSEC (Domain Name System Security Extension) ir domēna vārdu sistēmas drošības paplašinājums, kas nodrošina DNS datu autentifikāciju un ļauj pārliecināties, ka DNS atbildes saturs nav mainīts.

Ar DNSSEC parakstīta domēna vārda lietotājs var būt pārliecināts, ka viņa mājaslapas apmeklētāji sasniegs viņa lapu un netiks novirzīti uz citu vietni.

Domēna vārdu sistēma (DNS – Domain Name System) ir funkcionāla, efektīva un lieliski tiek galā ar saviem tiešajiem uzdevumiem – “tulkot” cilvēkiem vieglāk saprotamās vārdiskās adreses cipariskās adresēs. Diemžēl DNS nesniedz informāciju par datu autentiskumu, jo DNS atbilde tiek sniegta bez avota validēšanas, tādā veidā paverot iespējas kādai trešajai personai to viltot.

Plašākas sabiedrības uzmanība tam tika pievērsta 2008. gadā, kad Dans Kaminskis (Dan Kaminsky) atklāja cache ievainojamību (tā tika nosaukta par Kaminska defektu) - uzbrukuma gadījumā lietotāja pieprasījumu atvērt kādu tīmekļa vietni pārtver ļaundaris, kurš leģitīmās vietnes vietā lietotāju novirza pavisam uz citu lapu (skat. Ilustrācija 1). Vizuāli jaunās lapas adrese būs tieši tāda pati, kādu pieprasījis lietotājs, arī saturiski lapa var būt ļoti vai pat pilnīgi līdzīga. Rezultātā uzbrukuma upuris, to pat nenojaušot, var, piemēram, sniegt uzbrucējam savus datus. Sekas tam var būt visdažādākās.

Kas ir DNSSEC?

Jau 1997. gadā tika uzsākts darbs pie esošās DNS sistēmas paplašinājuma – DNSSEC (Domain Name System Security Extension), kas atrisina iepriekš minēto DNS ievainojamību. Laika gaitā DNSSEC ir pārdzīvojis vairākas iterācijas un tagad ir starptautiski atzīts par drošu un stabilu risinājumu.

"DNSSEC ir izveidots, lai aizsargātu interneta lietotājus no viltotiem DNS datiem, līdz ar to tā ieviešana ir atbalstāma. Neskatoties uz to, ka DNSSEC ieviešana praksē šobrīd joprojām var būt diezgan sarežgīta, prognozējami visticamāk DNSSEC atbalsts nākotnē pieaugs." Mārtiņš Jankovskis AREA IT valdes loceklis

Piedāvājam noskatīties mūsu kolēģu .ee veidotu izglītojošu video “Kas ir DNSSEC?”:

KĀDĒĻ NEPIECIEŠAMS DNSSEC?

Interneta pārlūkprogrammas jau iekļauj tehnoloģiju, kas izstrādāta, lai garantētu drošu datu apmaiņu starp lietotāju un interneta vietni. Datu apmaiņa tiek šifrēta, izmantojot TLS (Transport Layer Security). DNSSEC nav izstrādāts, lai aizvietotu šo TLS šifrēšanu, bet gan lai to papildinātu un novērstu lietotāju nokļūšanu nepareizajā vietnē pat pirms savienošanos nodrošina TLS.

Ar DNSSEC nodrošināti resursu ieraksti izmanto asimetrisko kriptogrāfijas parakstīšanas algoritmus, lai izveidotu tā saukto „uzticamības ķēdi” publiskajā DNS kokā. Uzticamība aizsākas saknes zonā un seko tam pašam deleģēšanas procesam, kāds ir domēna vārdu reģistrācijai. Vienkāršiem vārdiem sakot, DNSSEC ir kā garantija, ka lietotājam tiek attēlota tikai tā mājaslapa, kuru viņš ir pieprasījis.

KĀ STRĀDĀ DNSSEC?

DNSSEC standarta DNS atbildei pievieno parakstu, izmantojot RRsig – Resource Record Signature ierakstus – DNS atbilde, kas parakstīta ar privāto atslēgu. Tai tiek pievienota arī sūtītāja publiskā atslēga DNSKEY – Domain Name System Key un NSEC3.

Lai pārliecinātos par atbildes leģitimitāti, parakstītās atbildes saņēmēja programmatūrai jāveic kriptogrāfiska paraksta pārbaude, izmantojot domēna publisko atslēgu (DNSKEY). Līdz ar to atbildes Saņēmējs var būt pārliecināts, ka:

  • Saņemtā DNS atbilde nav mainīta;
  • Atbildi sniedz korekts avots (vienīgais, kam pieejama privātā atslēga).

Pati DNS atbilde netiek šifrēta – DNSSEC tikai PIEVIENO atbildei RRSIG, NSEC3 un DNSKEY ierakstus, taču pašus datu saturošos ierakstus nemaina. Tādā veidā DNSSEC ir savienojams ar “ne-DNSSEC” name serveriem, kuri vienkārši ignorē nezināmos datus un turpina funkcionēt kā ierasts.

DNSSEC “uzticamības ķēde” aizsākas ar vienu atslēgu SAKNES ZONĀ, kurai uzticas ikkatrs publiskajā DNS kokā.

DNSSEC, izmantojot DNS “uzticamības ķēdi”, nodrošina drošu publiskās atslēgas nogādāšanu lietotājam, kuram tas ir nepieciešams, lai izskaustu iespēju kādai trešajai personai to noviltot.

Kā jau iepriekš minēts, publiskās atslēgas ir pieejamas DNS, kā DNSKEY resursa ieraksti. Lai pārliecinātos, ka atsūtītā publiskā atslēga nav viltota, ir nepieciešams to validēt. Validēt DNSKEY var vēršoties pie nākamā “vecāka” publiskajā DNS kokā, kura zonā tiek izvietots DS – Delegations Signer resursa ieraksts, proti, DNSKEY hash, parakstīts ar “vecāka” privāto atslēgu. To pieprasot, “vecāks” atsūta gan DS, gan savas zonas DNSKEY, kuru attiecīgi atkal nepieciešams validēt pie nākamā “vecākā” publiskajā DNS kokā. Šādā veidā tiek izveidota tā sauktā „uzticamības ķēde”.

Lai veiktu DNS datu pilnu pārbaudi, pārbaudītājam nepieciešams zināt tikai vienu publisko atslēgu, proti saknes (.ROOT) zonas, kura parasti jau ir iestatīta dažādu programmu produktos. Šī ir vienīgā atslēga, kas pieejama ārpus DNS, un ielādējama dažādos formātos – http://data.iana.org/root-anchors/.

Publiskās atslēgas validēšanas piemērs:

Mājas lapas dnssec.lv publiskās atslēgas hash (DS) atrodas pie .LV, kur tas tiek parakstīts ar .LV privāto atslēgu. Pašas .LV zonas publiskās atslēgas hash (DS) atrodas saknes serverī (.root), kur tas ir parakstīts ar saknes zonas privāto atslēgu (skatīt ilustrāciju 2).

Kas nepieciešams, lai izmantotu DNSSEC?

DOMĒNA VĀRDA LIETOTĀJAM:

Domēna vārda parakstīšanu ar DNSSEC veic NIC sadarbības partneri - .lv reģistratūras. Lai parakstītu savu domēna vārdu ar DNSSEC:

  1. Jūsu izvēlētajam augstākā līmeņa domēnam (piemēram, .lv, .eu, .ru) ir jābūt DNSSEC parakstītam. Lielākā daļa augstākā līmeņa domēnu, ieskaitot .lv, ir jau parakstīti, taču ir arī tādi, kuri šo procesu vēl nav veikuši. Sīkāka informācija pieejama ICANN izstrādātajā dokumentā ”TLD DNSSEC Report”.
  2. Jūsu domēna vārda reģistratūrai ir jāatbalsta DNSSEC. Proti, jūsu izvēlētajai reģistratūrai ir jāpieņem un jāuztur lietotāja DS ieraksti, kas satur visu nepieciešamo informāciju par DNS zonas parakstā izmantotajām atslēgām.
  3. Jūsu domēna vārda uzturētājam ir jāatbalsta DNSSEC. Bieži vien domēna vārda reģistratūra veic arī domēna vārda DNS ierakstu uzturēšanu, taču to var arī uzturēt kāda cita kompānija vai arī lietotājs pats. Neatkarīgi no tā, kurš ir domēna vārda serveru (name servers) uzturētājs, tam ir jāatbalsta DNSSEC un jāparaksta lietotāja DNS zonas ieraksti.

GALA LIETOTĀJAM:

Interneta lietotāju ieguvums no DNSSEC ieviešanas ir garantija, ka, ierakstot interneta vietnes adresi, tie sasniegs vēlamo adresātu, ja interneta vietne izmantos DNSSEC. Ar laiku DNSSEC validācija tiks iebūvētā datora operētājsistēmās un darbosies kā standarta tīkla infrastruktūras daļa, taču līdz tam šie ir soļi, kurus var veikt, ja rūp drošība internetā.

Gala lietotājam ir vairākas iespējas pārliecināties, ka tiek izmantots DNSSEC:

  • Lietotāja interneta pakalpojumu sniedzēja (IPS) vai lokālā tīkla nodrošināts DNS atrisinātājs (resolver) var veikt DNSSEC validāciju un automātiski bloķēt mājaslapas ar nekorektiem DNSSEC parakstiem (sīkāka informācija pie jūsu IPS).
  • Lietotājs uz sava lokālā datora var uzinstalēt DNSSEC pārbaudītāju (DNS validation resolver), NIC iesaka izmantot DNSSEC-Trigger.
  • Lietotājs var pievienot DNSSEC atbalstu savai interneta pārlūkprogrammai. NIC iesaka iepazīties:

REĢISTRATŪRAI:

Lai veicinātu DNSSEC ieviešanu, NIC Reģistratūrām piešķir 50% ATLAIDI ar DNSSEC nodrošinātiem domēna vārdiem. Gada maksa par DNSSEC parakstītu domēna vārdu ir 5,00 EUR (attiecīgi 3,50 EUR par latvisko domēna vārdu), neskaitot PVN.

  1. Piekrist DNSSEC prakses priekšrakstiem .lv zonai. DNSSEC parakstīšanas pakalpojumu nodrošina NIC saskaņā ar noteikumiem, kuru aktuālā redakcija tiek publicēta NIC tīmekļa vietnē. Pakalpojums tiek nodrošināts bez maksas. Noteikumu neievērošana var būt par pamatu tam, ka NIC liedz reģistratūrai turpmāku pakalpojuma izmantošanu un atlaižu saņemšanu par DNSSEC parakstītajiem domēna vārdiem. Izmantojot pakalpojumu, reģistratūra apliecina, ka:

    • Jums ir nepieciešamā tehniskā kompetence DNSSEC nodrošināšanai un pakalpojuma lietošanai;
    • izmantosiet pakalpojumu tikai tiem .lv domēna vārdiem, kuriem esat reģistratūra;
    • piekrītat, ka NIC piedāvā pakalpojumu bez garantijas, ka tas kalpo kādam noteiktam mērķim un ka NIC nav atbildīgs par jūsu izmantoto sistēmu pareizu darbību pakalpojuma izmantošanas gaitā;
    • apzināties un piekrītat, ka pakalpojuma izmantošana nepiešķir Jums īpašuma tiesības uz pakalpojumu vai jebkuru tā daļu, ne arī intelektuālā īpašuma tiesības attiecībā uz pakalpojumu;
    • uzturēsiet ar DNSSEC parakstītos domēna vārdus, un, pārtraucot DNSSEC pakalpojuma izmantošanu domēna vārdam, jūs apzināties, ka turpmākai domēna vārda lietošanai ir jāsamaksā domēna vārda lietošanas tiesību maksa, kāda tā noteikta bez atlaides par DNSSEC. Pakalpojuma maksa netiek atmaksāta vai pieskaitīta citam NIC pakalpojumam.

    Noteikumi stājas spēkā ar brīdi, kad pakalpojums tiek aktivizēts NIC tiešsaistes sistēmas DNSSEC apakšsadaļā un ir spēkā nenoteiktu laiku, ja vien kāda no pusēm to nepārtrauc.

  2. Ieviest un uzturēt DNSSEC. Internetā ir plaši pieejama informācija par DNSSEC ieviešanu, izmantojot dažādas platformas.

BEZMAKSAS risinājumi: KOMERCIĀLIE risinājumi:
Bind > 9.7+ (www.isc.org) BlueCoat
PowerDNS (www.powerdns.com) Infoblox
OpenDNSSEC + SoftHSM (www.opendnssec.org) Secure64
ZKT (www.hznet.de/dns/zkt/) Xelerance

NIC iesaka iepazīties ar projektu DNSSEC-Tools, kura ietvaros ir izstrādāts plašs gan komerciālo, gan bezmaksas DNSSEC rīku klāsts dažādiem DNSSEC pielietošanas, ieviešanas un pārbaudes aspektiem. Sīkāks rīku pārskats un DNSSEC ieviešanas piemēri pieejami: http://www.internetsociety.org/deploy360/resources/video-getting-started-with-dnssec/;

Papildu informācija (EN):