Salam dostlar!
Bu məqaləm DNS haqqında olacaq. Beləliklə, DNS nədir?
DNS - (Domain Name System), adı ip ünvana və ip ünvanı ada çevirən bir servisdir. Dünyada internet saytlarının sayı artıqca və bütün saytların ip ünvanlarını yadda saxlamaq mümkün olmadığından DNS-in yaradılmasına ehtiyac yaranmış, beləliklə, onilliklər əvvəl DNS yaradılmışdır. Dostlar, DNS-i asan anlaya bilməyiniz üçün kiçik bir nümunə təqdim etmək istərdim: Belə ki DNS-in işləmə prinsipini bir növ mobil cihazda olan nömrələrin yer aldığı kitabça (phone book) kimi düşünmək olar. Çünki, mobil cihazımızın kitabçasında olan bütün əlaqə nömrələrini (rəqəmləri) yadda saxlamaq mümkün olmadığından biz həmin əlaqə nömrələrinin məxsus olduğu insanların adlarını nömrələrə bağlayaraq telefonumuzda xüsusi ad ilə yaddaşa veririk ki, zəng müddətində nömrə deyil, məhz həmin ad əks olunur. Dostlar, DNS-in də işləmə funksiyası bu cürdür. Fikrimcə qısaca olaraq, DNS-i internetin telefon kitabçası adlandırmaq olar. Aşağıdakı şəkildə telefon kitabçasında olan ad (Araz Ahmadov) və telefon nömrəsini DNS-də olan saytın adı (google.com) və ip ünvanı kimi müqayisə etmək olar:
DNS-in arxitektura və ya iyerarxiyası
DNS Root, Top Level Domains, Second Level Domains, Third Level Domains və ya Subdomain tipli arxitektura və ya iyerarxiyaya malikdir:
Root hints olaraq dünyada 13 ədəd Root server mövcuddur və həmin root hints-lərdə yüz və minlərlə DNS server yer alır. Aşağıdakı şəkildə DNS-in ilk olaraq yaradılmasından etibarən həmin 13 Root server-in idarəsini həyata keçirən idarə və təşkilatların siyahısı A2M (yəni A-dan M-ə) ardıcıl olaraq verilmişdir. Qeyd edim ki, bu Root serverler kritik infrastruktur olmasına baxmayaraq burada "fault tolerance" mövcuddur ki, hər hansı bir Root server-in sıradan çıxması dünyada - internet istifadəçilərində özünü biruzə vermir.
TOP Level Domains (TLD) - kommersiya və qeyri-kommersiya təşkilatları, idarələr və s. olan, eləcə də dünya ölkələrinin kodlarının (adlarının) qısaldılmış formasını özündə əks etdirən TLD-nin 2 əsas növü vardır: generic Top-Level Domains (gTLD) və country code Top-Level Domains (ccTLD). Beləliklə, gTLD-lər (ümumi üst səviyyəli domain-lər) və ccTLD-lər (ölkə kodlu (adlı) üst səviyyəli domain-lər) hər ikisi ümumi olaraq üst səviyyəli domain-lərdir və ölkə kodlarına (adlarına) ehtiyac duyulmayan bu üst səviyyə, kommersiya və qeyri-kommersiya təşkilatlarını, idarələri və s. təqdim edir ki, məhz gTLD-lərə nümunə olaraq: com (commercial) - kommersiya idarə və təşkilatları; org (organizational) - qeyri kommersiya idarə və təşkilatları; mil (military) - hərbi idarə və təşkilatları; edu (educational) - təhsil idarə və təşkilatları; gov (government) - hökümət idarə və təşkilatları və s.; ölkə kodlarını (adlarını) qısaldılmış şəkildə təqdim edən ccTLD-lərə isə nümunə olaraq: TR - Türkiyə, AZ - Azərbaycan, AU - Avstraliya, CA - Kanada, RU - Rusiya, US - Amerika Birləşmiş Ştatları, DE - Almaniya, FR - Fransa və s. göstərmək olar.
Second Level Domains (SLD) - Bu (2-ci səviyyəli) domain-lər, ən üst səviyyəli domain adlarının altındakı domain-lərdir və TLD-dən əvvəl gəlir. Bu domain adlarını hər birimiz görmüşük və əlavə detallara varmadan bəzi nümunələrdə TLD, SLD və ThirdLD (Subdomain) anlamının daha da dərindən mənimsənilməsi mümkün olacaqdır. Məsələn: ingilis şirkətləri tərəfindən bəzən .com yerinə .co.uk və ya .gov.uk da istifadə olunur ki, burada .co və .gov-SLD; .uk isə TLD-yə nümunə kimi göstərmək olar.
Third Level Domains (Subdomain) - Bu (3-cü səviyyəli) domain-lər SLD-dən əvvəl gəlir. Ümumiyyətlə, 3-cü səviyyəli domain-lər (SLD) bəzən bir veb saytın müəyyən bölmələri və ya səhifələrinə istinad etdikləri üçün subdomain - “alt domain-lər” də deyilir. Yuxarıda qeyd etdiyim kimi, aşağıdakı nümunələrə diqqət yetirsək hər üç səviyyəli domain-ləri (TLD, SLD, ThirdLD/SD) mənimsəmiş olarıq...
Əlavə olaraq qeyd edim ki, ThirdLD-dən (Subdomain) əvvəl gələn http, https protokolu və hər üç səviyyəli domain-lərin (www.google.com) yaratdığı bütöv link URL (Uniform Recource Locator) adlanır. Nümunədə də göründüyü kimi TLD-ni FLD kimi də adlandırmaq olar ki, FLD - First Level Domain adlanır.
DNS-də Zone-lar
DNS ümumi olaraq iki Zone-dan ibarətdir: Forward Lookup Zone və Reverse Lookup Zone.
Forward Lookup Zone adın ip ünvana çevrilməsini həyata keçirir və üç zone-a bölünür:
- Primary Zone - əsas zone-dur, ilk dəfə zone qurulanda məhz Primary Zone qurulur və DNS ilə bağlı "məlumat bazası" əsasən burada tutulur. Qeyd edim ki, bu zone qurularkən “Store the zone in Active Directory” bölməsində "checkbox" işarəsi qeyd edilməlidir ki, bu zaman Zone ilə bağlı bütün məlumatlar və rekordlar DNS qovluğunun "txt" faylında deyil, "ntds.dit" faylında tutulur və bu da təhlükəsizlik baxımından çox önəmlidir. Çünki txt faylı şifrələnmir, açıq oxuna biləndir, ntds.dit faylı isə şifrələnir və oxunması mümkünsüzdür. Əlavə olaraq qeyd edim ki, ntds.dit faylında tutulan bütün dns, zone, rekord məlumatları, "ADDC" qurularkən replikasiya nəticəsində həmin ntds.dit faylı replikasiya olunur ki, daha ADDC-də yenidən zone və ya rekord yaratmağa, eləcə də "Secondary Zone" yaradaraq nüsxə tutmağa ehtiyac duyulmur.
- Secondary Zone - Primary Zone-nun nüsxəsini (backup) tutur və "fault tolerance" mövcud olan bu zone "read only" funkasiyasını daşıyır. Əgər Primary Zone çökərsə, Secondary Zone işə düşür və bu zone Primary Zone-nun nüsxəsini daşıdığı üçün heç bir məlumat itkisi baş vermir. Bu zaman Secondary Zone Primary Zone-a çevrilir və köhnə Primary Zone bərpa olunana və ya yenisi yaradılana kimi, Secondary Zone Primary Zone funksiyasını daşıyır.
- Stub Zone - tərkibində NS (Name Server), SOA (Start of Authority) və A (Address) rekordlarını tutur, əsasən böyük firmalarda və şirkətlərdə təşkil olunur. Stub Zone da həmçinin "read only" funksiyasını daşıyır. Belə ki, Stub Zone digər yerlərdə (ölkələrdə, filiallarda və s.) yeni qurulan DNS server və zone-ların listini tutur və həmin DNS server və zone-lardan xəbərdar olur.
Reverse Lookup Zone isə ip ünvanı ada çevirir. Reverse Lookup Zone-da PTR record-dan istifadə olunur. PTR record A record-un əksidir və Reverse Lookup Zone-a əsasən internet provayder tərəfindən təmin edilir.
DNS-də Rekordlar
- A rekordu - IPv4 üçün nəzərdə tutulmuşdur və adın ip-yə bağlanmasını təmin edir;
- SOA rekordu - DNS-də zone məlumatları və keşin nə qədər tutulmasını təmin edir;
- NS rekordu - DNS Serverin hansı ip ünvanda mövcud olmasını təyin edir;
- SRV rekord - Domain Controller-in yerini müəyyən edir;
- AAAA rekordu - IPv6 üçün istifadə olunan bir rekorddur, A rekordunun eynisidir;
- Cname rekordu - adı ip-yə deyil, adı ada bağlayır, eləcə də bir ip ünvan üzərindən bir neçə adı təmin edə bilir. Domain mühitində DNS server-də bir çox rekordlar varsa, həmin DNS server-də ip ünvan dəyişərsə, (domain-ə daxil olan bütün kompüterlərin yaratdığı) A rekordlarının manual olaraq DNS-də yeni ip ünvana dəyişdirilməməsi üçün Cname rekordun-dan istifadə olunur;
- MX rekordu - bütün mail serverlər ilə əlaqə qurulmasını təmin edir, bu rekord olmazsa kənardan email qəbul etmək mümkün olmur, eləcə də MX rekordu digər mail serverlərin listini də müəyyən edir;
- CAA rekordu - sertifikatlarla bağlı olan bir rekorddur.
- SPF rekordu - bu rekord vasitəsilə hansısa email ünvanlarına email göndərilməsi müəyyənləşdirilir və ip ünvanlar əsasən TXT rekordunda tutulur. SPF eləcə də, email-in doğru yerdən gəlib-gəlmədiyini də müəyyənləşdirir;
- TXT rekordu - domain adlarını mətn sətirlərinə uyğunlaşdırır və bu rekordda domain haqqında məlumatlar əks olunur;
- DKIM rekordu - göndərilən email-in bir hissəsinin qarşı tərəfə şifrəli göndərilməsi prosesini təmin edir ki, qarşı tərəfin bu email-i aça bilməsi üçün şifrəyə ehtiyacı yaranır, və bu key-i də email-i göndərən qarşı tərəfin domai-nin DNS serverində olan DKIM rekordundan alır;
Qeyd edim ki, ümumiyyətlə kənardan olan bütün email-lərin spam və phishing olaraq inbox-a düşməsinin qarşısının alınması üçün TXT, SPF, DMARC və DKIM rekordları ayarlanmalıdır.
DNS haqqında vacib məlumat və qeydlər:
Dostlar, indi isə DNS haqqında digər vacib məlumatları və qeydləri sizə təqdim etmək istərdim. İT iş müsahibələrində yəqin ki, "DNS" necə işləyir və ya hər hansı bir sayta müraciət edərkən hansı mərhələlər, proseslər mövcuddur kimi suallarla qarşılaşmısınız? Elə isə, ilk olaraq DNS marşurutunun loru dilində izahına baxaq. Beləliklə:
- Saytlara müraciət edilmə (DNS-in müəyyən edilməsi istiqamətindəki) prosesləri necə baş verir?
Kompüterdən hər hansı bir sayta (məsələn: www.examples.com) müraciət olunarkən, ilk növbədə kompüterdə olan "host" faylına baxılır, host faylında həmin sayt (ip ünvan) barəsində məlumat əldə edilmədikdə "şəbəkə kartına/cache" baxılır, şəbəkə kartında məlumat əldə edilmədikdə "router-in DNS"-nə müraciət edilir, router-də məlumat əldə edilmədikdə "DC-də olan DNS Forward Lookup Zone"-a müraciət edilir, DNSFLZ-də məlumat əldə edilmədikdə isə "ISP"-yə müraciət edilir, ISP-də də məlumat əldə edilmədikdə isə son olaraq (kənara) "DNS Root Hints-lərə" müraciət edilir. Qeyd edim ki, bütün bu proseslər hiss olunmayacaq qədər saniyələr içərisində baş verir.
- Aging və automatic scavenging - domai-nə daxil edilən kompüterlərin yaratdığı (A) rekordların müəyyən interval müddətində DNS Zone-lardan avtomatik olaraq silinməsidir;
- Enable Round Robin - DNS-in iş yükünün paylaşdırılması deməkdir ki, kənardan sayta sorğular zamanı eyni adlı və fərqli ip-li olan saytlar bu sorğuya cavab verdikdə DNS-in bu prosesi yarı-yarı bölüşməsidir;
- Dynamic update - DNS-də bu "mode" aktiv olduqda, domain-ə kompüter əlavə edərkən, həmin kompüter A rekordu kimi ip ünvanı ilə birlikdə avtomatik olaraq DNS-ə (Forward Lookup Zone) yazılır. Əgər bu zaman Dynamic update aktiv edilməzsə, onda həmin A rekordu manual olaraq yazılmalıdır ki, təsəvvür edin, müəssisəniz həddindən artıq böyükdür və təqribən 500-ə yaxın kompüterin domain-ə daxil edilməsi və manual olaraq A rekordu yaradılması həddindən artıq vaxt itkisidir. Ümumiyyətlə DNS zone yaradılarkən seçim olaraq “allow only secure dynamic updates” mode-u seçilməlidir ki, bu da təhlükəsizlik baxımından daha da güvənli və vacibdir.
DNS sorğularının növləri
Recursive sorğu - bu sorğu zamanı "client" müraciət etdiyi vebsaytın ip ünvanı haqqında məlumatlı olub-olmamasına rəğmən DNS-in müəyyən edilməsi üçün sorğu göndərir;
Iterative sorğu - bu sorğu zamanı "client" müraciət etdiyi vebsaytın ip ünvanı barəsində uğursuz cavab aldıqda, uğurlu cavabı əldə edənə qədər təkrarən DNS-in müəyyən edilməsi üçün sorğu göndərir;
Recursive olmayan sorğu - bu sorğu zamanı "client" əgər keşində müraciət etdiyi vebsaytın ip ünvanı yoxdursa, DNS-in müəyyən edilməsi üçün sorğu göndərir.
Dostlar,
Güman edirəm, DNS haqqındakı bu məqaləm kifayət qədər bilgi olaraq işinizə yarayacaqdır.
Təşəkkür edirəm və uğurlar!
Hörmətlə,
Müəllif
Araz Əhmədov
Comments
Post a Comment