Б.Өлзийдэлгэр
Домайн нэрийн систем
Домайн нэрийн систем нь интернэтийн нөөц эсвэл хувийн сүлжээ мөн компьютер, үйлчилгээнүүдэд хэрэглэгддэг хуваарилалтын шаталсан нэрийн систем юм. Энэ нь тогтоогдсон обьектын төрөл бүрийн мэдээллийг түүний харгалзах домайн нэртэй нь холбож өгдөг. Үүний хамгийн их хэрэглэгддэг нийтлэг хэрэглээ нь дэлхий даяар тархан байрласан компьютерүүдийн үйлчилгээ болон хэрэглээний зорилгоор тэдгээрийн домайн нэрийг нь тоон IP хаяг руу нь хөрвүүлэх үйлдэл юм. Хуваариласан түлхүүр үгэнд суурилан дахин чиглүүлэх үйлдлийг дэлхий дахинд хангаж байгаа домайн нэрийн систем нь интернэтийн салшгүй нэг функц нь мөн юм.
Ихэвчлэн хэрэглэгддэг домайн нэрийн систем нь интернэтэд зориулагдсан утасны лавлахтай төстэй байдлаар тайлбарлагддаг. Тодруулбал компьютерийн хостын нэрийг IP хаяг руу хөрвүүлдэг. Жишээлбэл: домайн нэр нь: www.example.com -ийг 192.0.43.101 (IPv4) болон 2001:500:88:200::10 (IPv6) гэсэн IP хаягууд руу хөрвүүлнэ гэсэн үг юм. Интернэт нь домайн нэрийн шатлал болон интернэт протоколын нэрийн муж гэсэн 2 үндсэн нэрийн мужлалд ангилагддаг. домайн систем нь домайн нэрийн шатлалыг баталгаажуулах мөн эдгээрийн нэрийн мужлалтын хөрвүүлэлтийг үйлчилгээг хангадаг. Интернэт нэрийн сервер болон холболтын протоколууд нь домайн нэрийн системийн хэрэгжүүлэлтйиг хийдэг. DNS домайн нэрийн бичилтийг хадгалдаг бөгөөд хадгалахдаа хаягийн бичилт (A эсвэл АААА ), нэрийн серверийн бичилт (NS), мэйл солилцогчийн бичилт (MX) гэх мэтээр бичилт хийж хадгалдаг. DNS нь хариу үйлдэл хийхдээ өгөгдлийн сангийхаа хүслэлтүүдийн хариултыг эсрэгээр хийдэг.Та броузер дээрээ аль нэг сайтын хаягийг (домайн нэрийг) бичмэгц, эсвэл аль нэг хаягаар (домайн нэр бvхий и-мэйл сайтын нэг хэрэглэгч/хайрцаг руу) и-мэйл илгээмэгц тэр бvгд эхлээд заавал домайн нэрийн vйлчилгээний сервэр рvv хандаж зохих IP-хаягийг нь олоод дараа нь ажиллаж эхэлдэг. Иймд домайн нэрийн vйлчилгээ бол Интернэтийн хамгийн чухал бөгөөд гол холбогч vйлчилгээ юм. Интернэт дэхь vйлдэл бvхэн домайн нэрээр хийгдэх учир домайн нэрийн vйлчилгээний сервэр маш их ачаалалтай, 100% найдвартай ажиллаж байх естой болно. Ийм их ачааллыг ямар ч компьютер дангаараа даахгvй. Энэ ачааллыг нэг дор төвлөрvvлэн vйлчлэх нь дэндvv их эрсдэлтэй, мөн дэлхий даяар нэг цэгээс vйлчлэх нь домайн нэрийн vйлчилгээний хурдад төдийгvй бусад бvх vйлчилгээнд муугаар нөлөөлөх боломжтой. Тиймд Интернэтийн домайн нэрийн vйлчилгээг дэлхий даяар олон зуун сервэр компьютер дээр хуваан авч үйлчилж байдаг. Жишээлбэл, “.MN” төгсгөлтэй (mol.mn, magicnet.mn гэх мэт) бvх домайны vйлчилгээг Датаком компани хариуцан ажилладаг. Интернэт бол маш том компьютерын сүлжээ учраас тухайн "DNS" сервер бүр дээр бүх мэдээлэл байх боломжгүй.
Тиймээс ч "DNS" серверүүд нь байнга хамтарч ажилладаг байна. Энэ хамтийн ажиллагааг доорх зураг дээрээс тайлбарлая.
ДНС-ийн түүх
засварлахИлүү хялбар нэрийн хэрэглээ болон хостын тоон хаягийн илүү хялбар тогтооход хялбар, хийсвэрлэлтэй болсон сүлжээний хаягийн ард ARPANET -ийн эрин үе билээ. DNS зохиогдохоос өмнө буюу 1982 оноос өмнө сүлжээнд байгаа компьютер бүр өөр дээрээ HOSTS.TXT гэсэн нэртэй файлыг SRI(одоо SRI олон улсын) -д байгаа компьютерээс сэргээж авдаг байсан. Hosts файл нь ихэнх орчин үеийн үйлдлийн системүүд дээр ч гэсэн өгөгдмөлөөрөө байсаар хэвээр байгаа бөгөөд ерөнхийдөө дотоод хостыг 127.0.0.1 гэсэн хаяг руу хөрвүүлэлтийг агуулж байдаг. Олон үйлдлийн системүүд логик нэрийн тодорхойлолтыг ашигладаг бөгөөд логик тодорхойлолт нь компьютерийг удирдан зохион байгуулагчид нь нэрийн тодорхойлолтыг аргыг нь боломжит давуу эрхээр нь тохируулах боломжийг хангаж өгдөг. Сүлжээний хуртай өсөлтөөс хамааран нэгдсэн үйлчилгээтэй гараар хийгддэг HOSTS.TXT файл нь тогтворгүй болсон. Энэ нь системийг илуу уян хатан болгохоос гадна автоматаар хэрэгцээтэй мэдээллүүдийг тараах чадвартай болгон өөрчлөх шаардлагтай болсон. John Postel, Paul Mockapetris нарын хүсэлтээр 1983 онд домайн нэрийн систем нь зохиогдож эхний хэрэгжүүлэлт нь хийгдэж байжээ. Эхний DNS -н нарийвчилсан тодорхойлолтууд нь Internet Engineering Task Force -ээр RFC 882 болон RFC 883 дээр нийтлэгдсэн бөгөөд түүнийг сүүлд 1987 оны 11 сард RFC 1034 RFC 1035 -ыг нийтэлснээр өмнөх тодорхойлолтуудыг хүчингүй болгосон байна. Үндсэн DNS протоколд нэмэлтээр санал болгох төрөл бүрийн өргөтгөлийн нэмэлт хүсэлтийн тайлбар (Request for comment) байдаг. 1984 онд Berkley -н 4 оюутан болох Douglas Terry, Mark Painter, David Riggle болон Songnian Zhou нар нь анхны UNIX нэрийн серверийн хэрэгжүүлэлт болох Berkley Internet Name Domain (BIND) серверийг бичжээ. 1985 онд Digital Equipment Corpotation -ийн Kevin Dunlap DNS хэрэгжүүлэлтийг нилээн ач холбогдолтойгоор дахин бичсэн юм. Түүнээс хойш Mike Karels, Phil Almquist, and Paul Vixie нар BIND -ийг дэмжиж хөгжүүлж эхэлсэн. 1990 ээд оны эхээр BIND нь ялангуяа UNIX төрлийн системд тархсан бөгөөд DNS програм хангамж нь ер нь интернэтэд түлхүү хэрэглэгддэг байв. BIND -ийн бичилтийн эмзэг байдлын улмаас халдлагын өсөлт ихсэж улмаар хэсэгчлэн өдөөгдсөн нэмэлт нэрийн серверүүд хөгжүүлэгдэж эхэлсэн. Бусад орчин үеийн DNS -ийн програм хангамжтай харьцуулж болохуйц аюулгүй байдлыг хангасан бичилттэй BIND 9 гэсэн хувилбар бичигдсэн.
Домайн нэрийн муж
засварлахДомайн нэрийн муж нь домайн нэрийн модыг агуулдаг. Модны зангилаа эсвэл навч бүр нь 0 эсвэл илүү баялаг бичилттэй. Эдгээрн нь домайн нэртэй хамааралтай мэдээллийг агуулдаг. Модны дэд хуваалтын бүс нь үндсэн бүсээс (root zone) эхэлдэг. DNS бүс нь зөвхөн нэг домайнээс бүтэж болно эсвэл олон домайн мөн дэд домайнуудээс бүтэж болдог бөгөөд эдгээр нь удирдлагын менежерийн итгэмжлэлийн баталгаажилтаас хамаардаг. Шаталсан домайн нэрийн систем, бүсүүдэд хуваагдсан зохион байгуулагдсан бүгд нэрийн серверээр үйлчлүүлж байна. Удирдлага болон хариуцлагатай байдалтайгаар ямар ч бүсийг нэрийн сервер болон удирдлагын хэсгийн баталгаажуулалт нь хуучин мужийн итгэмжлэлийн хэсэг болдог.DNS бол Интернэт дээр тулгуурласан, бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (TLD) сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй систем юм.
Дэлхийд 13 ROOT сервер тархан байрлаж ажилладаг ба эдгээр нь бусад серверүүдийг бүртгэн top level домэйнуудад хариуцан ажилладаг.
Домэйн нэрийн систем нь уруугаа харсан мод хэлбэрийн бүтэцтэй байдаг. Хамгийн дээд талд нь root бүс байдаг.
Модны түвшингүүдийг label гэнэ. Мөн өөрөөсөө доош 1 label мэдэж байхыг zone гэнэ.
1. Forward zone: домайныг IP –руу хөрвүүлэх
2. Reverse zone: IP –ийг домайнруу хөрвүүлэх
Домэйн нэрийн систем нь дээрх 2 чиглэлд ажилладаг.
Домэйн нэрийн системийг дараах түвшинд хуваадаг:
1.Тop level Domains (TLD) : Анх 1980-аад оны үес бүртгэж эхэлсэн домайн ба үүнд .net, .com, .edu, .gov, .mil домэйнууд ордог. Эндээс зөвхөн .com, .net, .org домэйнийг худалдаалж болдог ба бусдыг нь зөвхөн зориулалтаар нь ашиглах тохиолдолд зөвшөөрөл олгодог. 2001 оноос .info, .biz, .name, зэрэг шинэ зэрэг шинэ top level домайнуудыг бүртгэж эхэлсэн. Мөн ccTLD (country code Top Level Domain) домэйн гэж байдаг. Энэ нь тусгаар тогтносон улс бүр өөрийн гэсэн домэйн нэр байдаг бөгөөд энэ нь монгол улсын хувьд .mn америкийн хувьд .us гэх мэт
2.Second Level Domains
Энэ нь товчхондоо бидны худалдаж авч болдог домэйн юм. Жишээ нь google.com
3.Third Level Domains
Энэ нь энгийнээр бол subdomain юм. Хэрэв second level domain-тай бол хостоосоо хамаарч subdomain-г хязгааргүй нээж болдог. Жишээ нь maps.google.com
Домэйны нийт уртыг 255 тэмдэгт байж болох ба хэсэг тус бүр нь нь 63 тэмдэгт байх боломжтой. Үүнийг дараах зургаар үзүүлбэл
Домайн нэрийн бүтэц
RFC 1035, RFC 1123, болон RFC 2181 -д домайн нэрийн хэлбэрийн шийдвэрлэх тодорхойлолтууд байгаа. домайн нэр нь нэг эсвэл олон хэсгээс бүрддэг бөгөөд техникийн нэршил нь хаяг тэмдэглэгээ (label) гэж нэрлэгддэг. Энэ нь нийтлэг хэрэглэгддэг ар араасаа хэлхэлдэн залгагдсан мөн цэгээр тусгаарлагдсан байдаг.
Жишээлбэл: cexample.com
- Хамгийн баруун захын хэсэг нь домайн нэрийн дээд түвшинг мэдээллэж байдаг. Жишээлбэл: www.example.com байвал үүний дээд түвшний домайн нь com байх юм.
- Шаталсан домайн нь баруунаасаа зүүн тийш доошилж явдаг. Нэршил хаяг (label) бүр нь зүүн тийшээ баруун талын домайний тодорхой дэд хуваалт эсвэл дэд домайнийг заадаг. Жишээлбэл: example гэсэн нэршил хаяг нь Com гэсэн дэд домайнийг тодорхойлно. Мөн www гэдэг нь example.com -ийн дэд домайн юм. Энэ 3 дэд хуваалт нь ихдээ 127 хүртэл шатлалд байж болно.
- Нэршил хаяглал бүр нь ихдээ 63 тэмдэгтийг агуулж болно. Бүтэн домайн нэрийн текстийн урт нь нийт 253 тэмдэгтээс хэтэрч болохгүй. Гэвч дотоод 2 тын тооллын бичиглэлд нэрийнх нь уртыг хадгалсны дараа ч гэсэн DNS нь хамгийн ихдээ 255 тэмдэгт хадгалах хадгалалтын зайтай байдаг. Практикт зарим домайн бүртгэгчид үүнээс бага хязгаартай байх тохиолдол байдаг.
- DNS нэрс техникийн талаамаа дүрсэлж болох бүхий л тэмдэгтийг хэрэглэж болох хэдий ч үндсэн домайн нэрийн бүтэц нь тусгай бүтэцтэй тэмдэгтийн багцаас бүрддэг. Нэршил хаяглалтанд зөвшөөрөгдсөн тэмдэгтүүд нь ASCII ийн олон тэмдэгтийн багц мөн дээр нь a-z, A-Z, 0-9 мөн дундуур зураас байдаг. Энэ дүрмийг LDH дүрэм гэдэг( үсэг, тоо, дундуур зураас letters, digits, hyphen). домайн нэр нь бие даасан нөхцөлтэй байдлаар ойлгогддог. Нэршил хаяглал нь дундуур зураасаар эхлэх эсвэл төгсөж болдоггүй. Мөн энд үнэндээ дээд түвшний домайн нэрэнд бүх шифр байж болохгүй гэсэн нэмэлт дүрэм байдаг.
- Хостын нэр бол домайн нэр бөгөөд үүнд дор хаяж 1 IP хаяг холбоотой байх ёстой. Жишээлбэл: www.example.com гэсэн домайн нэрүүд нь мөн хостын нэр бөгөөд харин .com нь домайн биш юм. Жишээлбэл: www.exapmle.com мөн example.com гэсэн домайн нэрүүд нь мөн хостын нэр бөгөөд харин .com нь домайн биш юм.
Олон шинж чанартай домайн нэрнүүд
засварлахDNS -ийн нэрийн зөвшөөрөгдсөн тэмдэгтийн багц нь төрөл бүрийн хэлнүүд тэдгээр өөрсдийнхөө улсын үндсэн цагаан толгой эсвэл бичгээр домайн нэрийг дүрслэхээс сэргийлсэн байдаг. ICANN нь Internationalizing Domain Names in Applications (IDNA) системийг баталсан. Энэ нь Unicode тэмдэгтийг боломжит DNS -ийн багц руу хийдэг бөгөөд ингэхдээ Punycode ашигладаг. 2009 онд ICANN Улсын дээд түвшний домайнүүд IDN ийн суурилуулалтанд баталгаажсан. Нэмж хэлэхэд дээд түвшний маш олон үүссэн бүртгэлүүд нь IDNA -гийн эзэмшилд орсон.
Нэрийн серверүүд
засварлахДомайн нэрийн систем нь хуваарилагдсан өгөгдлийн сангаар дэмжигдэж үйл ажиллагаагаа явуулдаг бөгөөд энэ нь клиент сервер загварыг хэрэглэдэг. Энэ өгөгдлийн сангийн зангилаа (node)-үүд нь нэрийн серверүүд юм. домайн бүр дор хаяж нэг баталгаажуулалтын сервертэй байх бөгөөд энэ сервер нь бүхий л түвшний домайний нэрийн сервер болон болон домайний мэдээллүүдийг хэвлэж байдаг. Шаталсан бүтцийн хамгийн дээд талд нь үндсэн нэрийн серверүүд (root name server) ажилладаг бөгөөд энэ серверүүд нь дээд түвшний домайнийг хайхад хэрэглэгддэг.Нэрийн серверийн төрөл
Дараах үндсэн 2 төрлийн нэрийн сервер байдаг.
1.Authoritative
2.Caching
Authoritative сервер нь дараах үүргийг гүйцэтгэнэ.
· DNS мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан, ирсэн асуулгуудад хариулах
· Бүртгэлтэй домэйны хувьд, жишээлбэл example.org, түүний дор орших хост нэрүүдэд IP хаяг оноож өгөх
· Бүлэг IP хаягуудад урвуу DNS мэдээлэл хэрэгтэй үед (IP-с хост нэр рүү)
Caching сервер гэдэг нь өөр дээрээ ямар нэгэн DNS-н мэдээлэл агуулахгүйгээр зөвхөн асуулга явуулах үүрэгтэй. Асуулгаас ирсэн хариуг тодорхой хугацааны туршид өөр дээрээ хадгалан, дотроос ахин тийм хүсэлт ирэх юм бол ахин гадагшаа асуулга явуулахгүйгээр хурдан хариу өгөх боломжтой болдог. Ингэснээр зурвасын өргөнийг бага ашиглах ба цаг хугацааны хувьд болон authoritative серверийн ачааллыг багасгах давуу талтай.
Resource record:Нэрийн серверийн data файл нь resource record гэгдэх бичлэгүүдийг агуулж байдаг ба заримаас нь дурдвал:
· A-record (address): хостын нэрт харгалзах IP хаяг. Хостын нэрийг IP хаягт хөрвүүлэхэд ашиглана.
· PTR-record (pointer): IP хаягт харгалзах хост нэр. IP хаягыг хост нэрт хөрвүүлэхэд ашиглана.
· NS-record (name server): Өгөгдсөн домайнд харгалзах нэрийн сервер
· MX-record (mail exchanger): Өгөгдсөн домайнд харгалзах mail сервер
· CNAME-record (Canonical name): хост нэрийг alias –д хөрвүүлэх механизм. Нэг IP хаягтай хост олон(multiple) нэртэй байж болно. Жишээ нь зарим хүмүүс блог дээрээ домэйн аваад тавьчихсан байдаг
Баталгаажуулалтын нэрийн сервер
Баталгаажуулалтын нэрийн сервер гэдэг нь үндсэн эх хувилбараас нь хариултыг өгдөг нэрийн сервер юм. Жишээлбэл: домайний удирдагч эсвэл динамик DNS аргаар авсан нэрийн хариулт нь өөрийн нэрийн серверээс дүрэм журмынх нь дагуу авсан хариутай зөрсөн тохиолдолд. Баталгаажуулалт нь гэдэг зүгээр л нэрийн сервер бөгөөд энэ нь асуултын хариуд серверийн удирдан зохион байгуулагчийн тохируулснаар тухайн домайн нэрийн сервер нь өөрийн мэдэж байгаа ямар DNS өгөгдөл (IPv4 IP, IPv6 IP, e-мэйл серверийн дуудлагын жагсаалт гэх мэт) нь ямар хостын нэр дээр байгааг нь гаргаж өгдөг гэсэн үг юм. Баталгаажуулалтын нэрийн сервер нь үндсэн сервер эсвэл туслах сервер аль алинаао нь ажиллаж болно. Үндсэн сервер нь бүх бүсүүдийн бичилтийн үндсэн хувийг нь хадгалдаг юм. Харин туслах сервер нь үндсэн серверийнхээ баталгаатай бичилтүүдийг өөр дээрээ хуулбарлаж авдаг ба мөн байнга шинэчлэл хийж байдаг ингэж ажиллахдаа DNS протоколын холболтын болон шинэчлэлийн механизмыг ашигладаг. Нэрийн серверийн хаягийн бичилтийн мэдээллийг бичилт нь дээд бүсэд байгаа серверийн бичилттэй өөрийн бичилтийн мэдээллийг харьцуулж шинэчлэл болон хуулбар хийж авч байдаг. Дээд түвшний домайний домайн бүртгэлд домайн бүртгэгчээр нэрийн бүртгэгчээр бүртгэл хийхэд анхдагч нэрийн серверийн баталгаажуулалт анхдагч нь байхгүй бол ядаж хоёрдогч нэрийн серверийн баталгаажуулалт шаарддаг. Хэрвээ нэг сервер нь хандах боломжгүй эсвэл үйл ажиллагаагаа явуулах боломжгүй болсон үед домайний үйл ажиллагааг хэвээр байлгах зорилгын үүднээс олон нэрийн серверийн хэрэгцээ байдаг. Анхдагч нэрийн серверүүд нь ихэвчлэн үндсэн нэрийн серверүүд байдаг бөгөөд ийм тохиолдолд хоёрдогч нэрийн сервер нь дрограмын флагаар баталгаажуулалт шэж тооцож байгаа сервер бөгөөд энэ нь хариултыг тодорхойлолтыг хангаж чадахуйц төлвийг заадаг бөгөөд дээр дурдсан баталгаажуулалтын биттэй хариуг баталгаажуулалтын харилт гэж нэрлэдэг. Энэ флаг нь ихэвчлэн дахин тодорхойлогддог бөгөөд ДНС удирдагчийн хүсэлтийн хэрэгслийн гаралтанд маш чухал үр дүн илтгэдэг. Энэхүү хэрэгсэлд илтгэж байгаа үр дүнд нь нэрийн серверийн баталгаажуулалтын домайн нэрийн асуултанд хариулж байгаа хариулт юм.
DNS-тэй холбоотой өнөөгийн асуудлууд
Домэйн нэрийн сервер нь нь өөр дээрээ cache буюу түр санамж үүсгэдэгийг дээр дурдсан. Үүнтэй холбоотойгоор dns cache poisoning төрлийн халдлага гарч ирсэн. Энэхүү халдлагыг гол зорилго нь тэрхүү сервер дээр түр хадгалагдсан байгаа мэдээллийг өөрчлөх замаар таны холбогдохыг хүсэж байгаа сервер руу биш хакерууд өөрийн хүссэн сервер, вэб руу оруулахад оршино. Өөрөөр хэлбэл та өөрийн банкны вэб рүү нэвтрээд нууц үгээ хийж байна гэж бодож байхад үнэн хэрэгтээ шал өөр хакеруудын вэб рүү орчихсон өөрийн санхүүгийн мэдээллээ алдаж байх аюултай юм. Өөрөөр хэлбэл phishing төрлийн халдлагын сайжруулсан хэлбэр. Phishing төрлийн халдлага болоход анхаарал болгоомжтой байгаад мэдэж таслан зогсоож болдог бол, cache poisoning төрлийн халдлага нь мэдэх боломжгүй ба үүгээрээ үлэмж хор уршигтай. Нэг удаа амжилттайгаар энэхүү халдлагыг хийж чадсан бол үлэмж олон хэрэглэгчдэд хохирол явуулж чадах боломжтой. Caching домэйн сервер асуулга явуулаад хүлээж байх зуур халдлага үйлддэг байна.Энэ үед аuthorative серверийг DoS attack хийж гацаан өөрийн өөрчилсөн бичлэгтэй response-г caching сервер лүү илгээдэг байна.Домэйн нэрийн систем нь UDP 53-р портоор дамжин мэдээллээ солилцдог ба 16 битийн урттай transaction ID ашиглан солилцдог. Мөн имэйлийг замаас нь хялбархан унших өөрчлөх боломжоор хангах ба шийдэл нь гэвэл DNS серверүүдээс ирж байгаа мэдээллүүдийг баталгаажуулах тоон гарын үсэгтэй болгох, мөн DNS серверээс ирж буй хариултын Source port randomization хийж чагнахаас сэргийлэх боломжтой.Хэдийгээр DNS системийг UDP биш TCP системээр ажиллуулж болох ч энэ нь сүлжээний траффикийг ихэсгэх цаашлаад DNS серверүүдэд ачаалал үүсгэн гацаах зэрэг муу талтай юм.