Kas ir DNSSEC un kādēļ tas ir nepieciešams?

dnssec_bilde1

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 sniegto datu autentiskumu, jo DNS atbilde tiek sniegta BEZ AVOTA VALIDĒŠANAS. Plašākas sabiedrības uzmanība tam tika pievērsta 2008. gadā, kad Dans Kaminskis (Dan Kaminsky) atklāja tā saukto Kaminska defektu jeb cache ievainojamību.

kamiska_defekts2

(Ilustrācija Nr. 1 – Kaminska defekts)

Atklātais DNS sistēmas darbības “defekts” paver plašas iespējas kādai trešajai personai viltot DNS sniegtās atbildes. 

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. 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 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 nodrošina DNS datu autentifikāciju un ļauj pārliecināties, ka DNS atbildes saturs nav mainīts.

Aicinām noskatīties video “Kas ir DNSSEC?”

Angļu valodā:

Krievu valodā:

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, taču 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.

Sīkāk par 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/.

DNSSEC_uzticamibas_kede

(Ilustrācija Nr. 2 – Publiskās atslēgas nogādāšana lietotājam)

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.

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:

Papildu informācija (EN):