DNSSEC — DNS javoblarining haqiqiyligini va yo‘lda o‘zgarmaganini raqamli imzo orqali tekshirish imkonini beradigan kengaytmalar to‘plami. Uning to‘liq nomi Domain Name System Security Extensions hisoblanadi.
DNSSEC DNS ma’lumotini shifrlamaydi. U resolverga record vakolatli zona tomonidan imzolanganini tekshirish imkonini beradi.
Asosiy maqsad soxta DNS javobi va cache poisoning xavfini kamaytirish.
DNSdagi muammo
Oddiy DNS javobi kriptografik tasdiqqa ega emas.
Hujumchi resolverga soxta javobni tezroq yuborsa:
example.uz → noto‘g‘ri IP
cache zaharlanishi mumkin.
Foydalanuvchi asl sayt o‘rniga zararli serverga yo‘naltiriladi.
DNSSEC resolverga javobni public key bilan tekshirish imkonini beradi.
Raqamli imzo
Zona operatori private key bilan DNS recordlar to‘plamini imzolaydi.
Resolver DNSKEY ichidagi public key orqali imzoni tekshiradi.
Private key DNS javobida berilmaydi.
DNSSEC:
- data origin authentication;
- data integrity;
- authenticated denial of existence
beradi.
RRset
DNSSEC alohida bitta recordni emas, bir xil nom va turdagi recordlar to‘plamini imzolaydi.
Bu to‘plam RRset deb ataladi.
Masalan:
www.example.uz A 192.0.2.10
www.example.uz A 192.0.2.11
ikkala A record bir RRset bo‘lib, bitta yoki bir nechta RRSIG bilan imzolanadi.
DNSKEY
DNSKEY zona public keyini saqlaydi.
Asosiy maydonlar:
DNSKEY recordlardan biri odatda KSK, boshqasi ZSK rolida ishlatiladi.
ZSK
Zone Signing Key zona RRsetlarini imzolash uchun ishlatiladi.
ZSK:
- A;
- AAAA;
- MX;
- TXT;
- NS;
- boshqa recordlar
uchun RRSIG yaratadi.
ZSK kichikroq bo‘lishi va tez-tez almashtirilishi mumkin.
KSK
Key Signing Key DNSKEY RRsetini imzolaydi.
KSKning hash qiymati parent zonadagi DS recordga joylanadi.
Bu child zona public keyini parent zonaga bog‘laydi.
Amaliy siyosatda KSK va ZSK alohida yoki birlashtirilgan bo‘lishi mumkin.
RRSIG
RRSIG RRset uchun raqamli imzo va metadata saqlaydi.
Maydonlar:
- type covered;
- algorithm;
- labels;
- original TTL;
- signature expiration;
- signature inception;
- key tag;
- signer name;
- signature.
Resolver joriy vaqt inception va expiration oralig‘ida ekanini tekshiradi.
Tizim vaqti noto‘g‘ri bo‘lsa, valid imzo rad etilishi mumkin.
DS record
DS parent zonada child zona DNSKEYining digestini saqlaydi.
Masalan:
.uzzonadaexample.uzuchun DS;- root zonada
.uzuchun DS.
Resolver parentning tasdiqlangan ma’lumoti orqali child DNSKEYga ishonadi.
Chain of trust
DNSSEC ishonch zanjiri rootdan boshlanadi.
Root trust anchor
↓
TLD DS va DNSKEY
↓
Domain DS va DNSKEY
↓
Signed RRset
Resolver root trust anchorni oldindan biladi.
Har bosqichda:
- parent DS tekshiriladi;
- child DNSKEY mosligi tekshiriladi;
- child RRSIG tekshiriladi;
- keyingi delegatsiyaga o‘tiladi.
Trust anchor
Validating resolverda ishonchli boshlang‘ich key mavjud.
Global DNS uchun root KSK trust anchor sifatida ishlatiladi.
Trust anchor yangilanishi RFCga mos avtomatik mexanizm orqali boshqarilishi mumkin.
Noto‘g‘ri yoki eskirgan anchor ko‘p domenni bogus holatiga olib keladi.
Valid, insecure va bogus
Resolver javobni quyidagicha baholashi mumkin.
Secure
Imzo va ishonch zanjiri to‘g‘ri.
Insecure
Zona DNSSEC bilan imzolanmagan, ammo bu holat parent orqali qonuniy tasdiqlangan.
Bogus
Imzo noto‘g‘ri, muddati o‘tgan, DS mos emas yoki zanjir buzilgan.
Indeterminate
Tekshiruv uchun yetarli ma’lumot yo‘q.
Bogus javob odatda clientga SERVFAIL sifatida qaytadi.
NSEC
NSEC mavjud bo‘lmagan nom yoki record turini kriptografik tasdiqlaydi.
Oddiy “topilmadi” javobi ham soxtalashtirilishi mumkin. NSEC zona ichidagi keyingi mavjud nomni ko‘rsatib, so‘ralgan nom oraliqda yo‘qligini isbotlaydi.
Kamchiligi — zone walking orqali zona nomlarini aniqlash mumkin.
NSEC3
NSEC3 nomlarni hash ko‘rinishida ishlatadi.
Bu zone walkingni qiyinlashtiradi, lekin to‘liq yo‘q qilmaydi.
Parametrlar:
Juda ko‘p iteration authoritative server va resolver CPU yukini oshiradi.
Negative answer
DNSSEC NXDOMAIN va NODATA javoblarini ham tasdiqlaydi.
- NXDOMAIN — nomning o‘zi yo‘q;
- NODATA — nom bor, so‘ralgan record turi yo‘q.
NSEC yoki NSEC3 bu holatni isbotlaydi.
Delegatsiya
Parent zonada child uchun:
- NS;
- glue A/AAAA;
- DS
recordlari bo‘lishi mumkin.
DS mavjud bo‘lsa, child DNSSEC bilan imzolangan bo‘lishi kerak.
Child key o‘zgartirib, parent DSni yangilamasa, chain of trust buziladi.
Key rollover
Kalitlar vaqti-vaqti bilan almashtiriladi.
ZSK rollover
Yangi ZSK e’lon qilinadi, RRsetlar yangi key bilan imzolanadi, eski key TTL va cache muddatidan keyin olib tashlanadi.
KSK rollover
Yangi KSK va parent DS koordinatsiya qilinadi.
Noto‘g‘ri tartib domenni DNSSEC bogus holatiga tushirishi mumkin.
Signature expiration
RRSIG abadiy emas.
Zone signer yangi imzolarni muddati tugashidan oldin yaratishi kerak.
Avtomatlashtirish ishlamasa:
- barcha recordlar mavjud;
- authoritative server javob beradi;
- ammo validating resolver
SERVFAILqaytaradi.
Monitoring signature expiration vaqtini kuzatadi.
DNSSEC va maxfiylik
DNSSEC so‘rov va javobni shifrlamaydi.
Tarmoq kuzatuvchisi:
- qaysi domen so‘ralganini;
- javob recordlarini
ko‘rishi mumkin.
Maxfiylik uchun DoT, DoH yoki boshqa encrypted DNS transport ishlatiladi.
DNSSEC va DoH turli vazifalarni bajaradi.
DNSSEC va HTTPS
DNSSEC sayt TLS sertifikatini avtomatik almashtirmaydi.
DNSSEC:
- DNS record haqiqiyligini tekshiradi.
- server identifikatsiyasi;
- trafik shifrlash;
- yaxlitlik
beradi.
Ikkalasi birgalikda turli qatlamlarni himoya qiladi.
DANE
DANE TLS sertifikat yoki public key ma’lumotini DNSdagi TLSA record orqali e’lon qiladi.
DANE DNSSECga tayanadi. TLSA record imzosi tekshirilmasa, hujumchi uni soxtalashtirishi mumkin.
DANE SMTP serverlar orasidagi TLSni kuchaytirishda ishlatilishi mumkin.
Packet hajmi
DNSSEC javoblar oddiy DNSga qaraganda kattaroq:
- DNSKEY;
- RRSIG;
- DS;
- NSEC.
UDP packet fragmentatsiyasi yoki truncation yuz berishi mumkin.
EDNS0 kattaroq UDP hajmini kelishadi. Kerak bo‘lsa resolver TCPga o‘tadi.
Firewall katta DNS packet yoki TCP 53ni bloklamasligi kerak.
Operatsion xatolar
DNSSECdagi ko‘p uzilish kriptografik hujumdan emas, konfiguratsiya xatosidan kelib chiqadi:
- noto‘g‘ri DS;
- expired RRSIG;
- key rollover xatosi;
- noto‘g‘ri system time;
- authoritative serverlar orasida mos bo‘lmagan zona;
- packet hajmi;
- algorithm qo‘llab-quvvatlanmasligi.
Shu sababli avtomatlashtirish va monitoring muhim.
Diagnostika
DNSSEC muammosida:
- DNSKEY;
- DS;
- RRSIG;
- key tag;
- algorithm;
- signature inception va expiration;
- NSEC yoki NSEC3;
- chain of trust;
- authoritative server;
- resolver validation;
- system time;
- EDNS;
- TCP 53
tekshiriladi.
SERVFAIL faqat server ishlamayapti degani emas; DNSSEC validation xatosi bo‘lishi mumkin.
Bog‘liq tushunchalar
DNS, RRset, DNSKEY, ZSK, KSK, RRSIG, DS, Chain of trust, Trust anchor, NSEC, NSEC3, DANE, DoH