Zašto nam je potreban DNSSEC?

4 маја, 2020

Većina nas se vrlo često susreće sa pojmom DNS-a, što ne možemo reći i za pojam DNSSEC.  Šta je onda to DNSSEC i čemu on služi? U ovom tekstu ćemo pokušati da malo pojasnimo na koji način on funkcioniše i šta nam to donosi, a pri dnu članka možete pronaći i instrukcije šta je potrebno da nam dostavite za dodavanje DNSSEC zapisa, ukoliko želite da se doda na vašem nacionalnom .rs domenu.

Pre svega, da se podsetimo šta je to DNS, biće potrebno za razumevanje DNSSECa.

DNS sistem je hijerarhijski i decentralizovani sistem imenovanja za računare, usluge i druge resurse koji se povezuju na Internet. Najčešća upotreba je prevođenje čitljivih naziva domena (na primer mcloud.rs) na numeričku IP adresu koja se koristi za lociranje i identifikaciju usluga i uređaja koji se nalaze na Internetu.

Recimo da je to najbliže situaciji kada morate da pozovete jedan od svojih kontakata iz mobilnog telefona. Možete da nazovete broj iz memorije ili da iskoristite ime nekog kontakta koje će potom vaš mobilni telefon koristiti za pretraživanje željenog broja u vašem telefonskom imeniku. Ovo pretraživanje po nazivu kontakta je slično načinu na koji funkcioniše DNS.

Internet u potpunosti zavisi od ispravnog funkcionisanja DNS-a. Svaka veb stranica, poslati email  i bilo koji drugi podatak oslanjaju se na DNS koji prevodi ime domena koji je čitljiv ljudima, u IP adresu koju koriste serveri, ruteri i drugi umreženi uređaji.

Slika 1: Prevođenje imena domena u IP adresu

U ranim danima TCP / IP umrežavanja, svaki računar je imao spisak imena i njihove ekvivalentne IP adrese, nazvane host tabela. U to vreme je postojao relativno mali broj računara i korisnika, pa je to u mnogome olakšavalo administriranje jednog takvog fajla. Sa milionima računara koji danas postoje na Internetu, tako nešto nikako ne bi bilo izvodljivo. Umesto toga su uvedeni DNS serveri koji čine osnov Interneta koji danas poznajemo.

Da bisimo ovo bolje razumeli, potrebno je da se pre svega upoznamo sa strukturom DNS arhitekture. Ona ukratko rečeno predstavlja hijerarhijski model autoritativnih servera od kojih je svaki zadužen za svoju zonu domena. Evo kako bi pojednostavljeno izgledala šema jednog DNS upita:

Klijentski računar šalje zahtev za povezivanje svom IPS-u (intenet Service Provider). Zahtev dolazi do kešing resolvera (ukratko – resolver) koji u sebi sadrži podatke o root serverima i ujedno kešira DNS odgovore. Taj zahtev se u resolveru čita i dalje prosleđuje nadležnom autoritativnom serveru. Autoritativni server čita poruku i dalje je prosleđuje nadležnom serveru sa kojim je klijent inicijalno tražio povezivanje (slika 2).

Slika 2: Osnovna DNS arhitektura

Potreba za većom sigurnošću DNS arhitekture

U početku sistem domena nije imao mehanizme za zaštitu od zlonamerne izmene informacija u odgovoru koji dostavlja server. Arhitektura DNS-a je dizajnirana na takav način da se i zahtev i odgovor prenose u plain text formatu, što već samo po sebi predstavlja potencijalni problem.

Da bismo komunicirali sa drugim korisnikom preko Interneta, moramo da unesemo odgovarajuću adresu u računar: naziv servera/domena ili broj/IP adresu. Ova adresa mora biti jedinstvena kako bi računari mogli međusobno da se pronađu na Internetu. ICANN (Internet korporacija za dodeljena imena i brojeve) koordinira ove jedinstvene identifikatore širom sveta. Kada unesete ime, sistem prvo mora da ga pretvori u IP adresu, a zatim da uspostavi vezu. Ova komunikacija se odvija bez neke posebne zaštite, što je vremenom postalo problem.

Ubrzanim rastom Interneta i broja uređaja koji se povezuju na ovu mrežu primećeno je da arhitektura DNS sistema ima svoje slabe tačke koje mogu biti predmet različite vrste zlonamernih napada. Tako je u posednjih nekoliko godina širom sveta zabeležen značajan porast DNS napada, od kojih su u praksi najčešći:

  • Man-in-the-middle (MITM) napad – umetanje napadača između klijenta i resolvera i slanje pogrešnog odgovora, sa ciljem preusmeravanja saobraćaja na server napadača.
  • Cash poisoning (trovanje keša) – insertovanje pogrešnjih informacija u memoriju resolvera sa ciljem preusmeravanja klijenta na server pod kontrolom napadača.
  • Malware – destruktivni programi koji mogu da izmene host fajl ili podatke o DNS serverima.
  • DoS, DDoS i rDDoS napadi – DNS predstavlja jednu od najkorišćenijih tehnologija za sprovođenje napada na druge sisteme (botnet command and control)

Imajući sve ovo u vidu, nametnulo se pitanje kako zaštiti DNS infrastrukturu od sve većeg broja napada i očuvati integritet podataka koji se razmenjuju prilikom rešavanja DNS upita. Tako se logično nametnula i potrebe za postizanjem veće bezbednosti celog sistema.

Odgovor na ovaj problem je DNSSEC, odnosno u validiranju DNS odgovora, a to se postiže kriptografskim metodama. U pitanju je prilično komplikovana bezbednosna struktura, pa u ovom tekstu nećemo detaljnije razrađivati na koji način sve ovo funkcioniše. U dodatku ovog teksta možete pronaći pojednostavljen prikaz načina na koji DNSSEC postiže veću bezbednost razmene DNS podataka.

Zašto DNSSEC?

Ako do sada nije dovoljno jasno zašto DNSSEC, evo i nekoliko reči u prilog ovoj ekstenziji.

Kao što smo do sada videli, rešavanje DNS upita se javlja pre nego što korisnik stupi u interakciju sa željenom veb-lokacijom. Ako se kojim slučajem desi da neko zlonamerno preuzme kontrolu nad nekim delom DNS infrastrukture, korisnik može na kraju da bude povezan sa serverom koji je pod kontrolom napadača, umesto sa  željenom veb-lokacijom.

Stoga, čak i ako serveri imaju firewall zaštitu, podaci koji putuju od klijenta do servera i nazad su potencijalno ugroženi ukoliko DNS infrastruktura nije zaštićena DNSSEC-om. Uspešni zlonamerni napadi mogu biti izuzetno štetni za reputaciju brenda i vašeg biznisa u celosti, što je sigurno nešto što nikako ne želite. Štete se mogu meriti ne samo narušenom poslovnom reputacijom, već i visokim sumama koje ozbiljno mogu uzdrmati vaše poslovanje pa i sam njegov opstanak.

Što se tiče implementacije DNSSEC-a ona je praktično još uvek u fazi globalnog rasta. Gledano procentualno, neke zemlje prednjače u odnosu na druge, ali će proći još vremena dok ne bude u potpunosti primenjen na globalnom nivou. Srbija je negde na oko 20%, ali čak i mnogo naprednije države nisu odmakle od toga, a neke su čak i daleko ispod ovog procenta.

Sa druge strane, važno je znati zbog čega je implementacija DNSSEC-a važna i zašto on što pre treba da postane globalni standard bezbednosti Interneta.

DNSSEC na nacionalnom domenu – šta nam je obezbedio RNIDS?

Krajem 2019. godine, RNIDS (Registar Nacionalnog Internet Domena Srbije) je stvorio uslove za potpisivanje nacionalnih .rs domena drugog i trećeg nivoa od strane DNS operatera. To podrazumeva da su razvili DNSSEC funkcionalnosti RSREG aplikacije koju koriste svi Ovlašćeni registri za registraciju domena. Svi Ovlašćeni registri sada mogu da dodaju DNSSEC zapise za registrante .rs domena.

Šta je potrebno uraditi za dodavanje DNSSEC zapisa?

Administrator zone određenog domena (za koji se dodaje DNSSEC zapis) treba da potpiše zonu i kreira odgovarajući DS zapis. Potom registrant ili administrativni kontakt .rs domena dostavljaju sledeće parametre DS zapisa:

  • Key tag (KSK key ID)
  • Algorithm (algoritam koji je korišćen za kreiranje KSK)
  • Digest type (algoritam koji se koristi za kreiranje izvoda DNSSEC ključa – DS zapisa)
  • Digets (kriptografski izvod DNSSEC ključa).

mCloud, kao ovlašćeni registar, unosi ove podatke u RNIDS aplikaciju, nakon čega se automatski proverava zona za dobijen DS zapis (da li ima DNSKEY set zapisa), verifikuje da li su ključevi validni (da li DS zapis odgovara DNSKEY zapisu) i ako je verifikacija uspešna upisuje DS record u roditeljsku zonu i potpisuje ključem za roditeljsku zonu. Više informacija o potpisivanju i načinu na koju se vrši verfikacija možete pogledati na zvaničnom uputstvu RNIDS-a ovde.

Ako želite dodavanje DNSSEC zapisa na svom .rs domenu, javite nam se.

Dodatak: Ako vas zanima više o DNSSEC-u

DNSSEC (Domain Name System Security Extensions) obezbeđuje veću sigurnost DNS arhitekture tako što omogućava validaciju DNS odgovora. Pravilna primena DNSSEC-a čini DNS manje ranjivim na već pomenute vrste napada.

Ovo se uglavnom postiže uvođenjem kriptografskih metoda zaštite podataka, tako da je komunikacija između klijenta i servera, kao i servera i servera daleko bezbednija i pouzdanija od eventualnog kompromitovanja podataka.

DNSSEC koristi kriptografiju javnog ključa za digitalno potpisivanje DNS zapisa na autoritativnom DNS serveru. Digitalno potpisivanje osigurava da DNS odgovor potiče iz navedenog izvora i omogućava da se proveri poreklo DNS zapisa. To garantuje da će klijentski računar dobiti tačnu IP adresu povezanu sa imenom domena. To funkcioniše tako što dodaje kriptografske potpise postojećim DNS zapisima resursa na autoritativnim DNS serverima.

DNSSEC kao protokol nije šifrovan. Ključevi se koriste za potpisivanje zapisa i izgradnju lanca poverenja. Međutim, paketi nisu šifrovani jer DNSSEC ne pruža šifrovanje.

DNSSEC deluje uspostavljanjem lanca poverenja (tzv chain-of-trust). Ovaj lanac počinje od root servera. Kopiju javnog root ključa imaju svi resolveri (što je ugrađeno u sve najkorišćenije softvere zajedno sa mehanizmom za automatsko preuzimanje novog root ključa). U root zonu se unosi DS zapis TLD zone, zatim u TLD zonu DS zapis second level domena i tako dalje. Na taj način se uspostavlja lanac poverenja. Validacija javnih ključeva u nižim hijerarhijskim zonama radi se pomoću DS zapisa koji se nalazi u višoj hijerarhijskoj zoni, a DNSSEC zapisi se dešifruju validiranim javnim ključevima iz prethodnog koraka.

DNSSEC nam dakle omogućava:

  • Autentičnost podataka – resolver može da odredi da li DNS odgovor potiče od autoritativnog DNS servera,
  • Integritet podataka – resolver može da utvrdi da li je DNS odgovor menjan u toku prenosa,
  • Autentičnost nepostojanja – resolver može da potvrdi da ne postoji DNS zapis na autoritativnom serveru NXDOMAIN.

Činjenica je da se na ovaj način značajno unapređuje čitava struktura DNS-a i način na koji se podaci štite u transportu na relaciji klijent-server-server-klijent.

Tags:

Bez komentara

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *