Login Register
DomainKeys Identified Mail (DKIM) nima va DNS orqali qanday tekshiriladi

DomainKeys Identified Mail (DKIM) nima va DNS orqali qanday tekshiriladi

DomainKeys Identified Mail (DKIM) nima va qanday ishlashini bilib oling: DKIM-Signature, DNS TXT public key, pass/fail tekshiruvi hamda DKIMni to‘g‘ri sozlash bo‘yicha am

DomainKeys Identified Mail (DKIM) — elektron pochtada jo‘natuvchining domeni nomidan yuborilgan xabar haqiqatan ham ruxsat etilgan manbadan chiqqanini tekshirishga yordam beradigan kriptografik mexanizmdir. DKIM xabar sarlavhasiga raqamli imzo qo‘shadi va qabul qiluvchi tomon shu imzoni domenning DNS yozuvlari orqali tekshiradi.

Quyidagi maqolada DKIM aynan nima qilishi, u qaysi formatlarda ishlashi, tekshirish tartibi qanday bo‘lishi va amaliy sozlashda nimalarga e’tibor berish kerakligi aniq bayon qilinadi.

DKIM nima va u qanday muammolarni hal qiladi?

DKIMning asosiy maqsadi — xabarda ko‘rsatilgan jo‘natuvchi domen (masalan, example.com) nomidan yuborilganlikni kriptografik tarzda isbotlash. Bunda DKIM “xabar mazmuni to‘g‘ri” degani emas, balki xabar ma’lum sarlavhalar bilan birga imzolangan va imzo mos keladimi-yo‘qmi, shuni tekshiradi.

DKIM odatda firibgar (spoofing) jo‘natuvchi domenlardan yuborilgan xabarlar ulanishini kamaytirishga xizmat qiladi. Masalan, “From: user@example.com” deb yozib, aslida boshqa tizimdan yuborilgan bo‘lsa, imzo tekshiruvi mos kelmasa natija yomonlashadi.

DKIM qaysi standart va formatlarga tayanadi?

DKIM imzolari va tekshirish qoidalari RFC 6376 (2011-yil) hujjatida belgilangan. Shuningdek, DKIM-Signature sarlavhasi sintaksisi va domenga oid imzo tekshirish mexanizmlari shu standartga tayangan.

DKIM DNS orqali tekshirish kalitini oladi. DNSdagi TXT yozuv tarkibi ham RFC 6376 bilan mos formatda bo‘ladi. DKIM tekshiruvi uchun odatda quyidagi elementlar ishlatiladi: DKIM-Signature (xabar sarlavhasida) va public key (DNS TXT yozuvida).

DKIM ishlash mexanizmi: imzo qo‘shishdan tekshiruvgacha

DKIM jarayoni odatda ikki tomonga bo‘linadi: jo‘natuvchi imzo yaratadi, qabul qiluvchi esa uni tekshiradi. Muhim farq: DKIM “transport” (SMTP) yo‘lidagi har qanday o‘zgarishni ham doim ham ushlaydi, lekin u imzolangan sarlavhalar va tayanch qismga nisbatan tekshiradi.

1-bosqich: jo‘natuvchi xabarga DKIM-Signature sarlavhasini qo‘shadi

Jo‘natuvchi server xabarni ma’lum qoidalar asosida “imzolashga tayyorlaydi”: imzolashga qaysi sarlavhalar kiritilishi tanlanadi, so‘ng ularning qiymatlari normallash (formatdagi farqlarni moslashtirish) jarayonidan o‘tkazilishi mumkin. Shundan keyin kriptografik imzo hisoblanadi va xabarga DKIM-Signature sarlavhasi qo‘shiladi.

DKIM-Signature ichida quyidagilar bo‘ladi: qaysi domen nomi bilan imzo qo‘yilgani (ko‘pincha “d=” parametri), qaysi selektor orqali DNSdan kalit olinishi (“s=” parametri) va imzo natijasi (“b=” parametri). Imzoni tekshirish uchun aynan shu parametrlardan foydalaniladi.

2-bosqich: qabul qiluvchi DNSdan public key’ni oladi

Qabul qiluvchi server xabardagi DKIM-Signature sarlavhasini o‘qib, “d=” va “s=” qiymatlariga qarab DNSdan kalit so‘raydi. Odatdagi shakl shunday: selektor qiymati va domen nomi birga qo‘shilib, TXT yozuvdan public key olinadi.

DNSda kalit TXT ko‘rinishida saqlanadi. Qabul qiluvchi public key asosida imzoni qayta tekshiradi. Agar imzo mos kelsa, DKIM natijasi “pass”, mos kelmasa “fail” bo‘ladi (aniq yorliqlash mail filtrlash tizimiga bog‘liq).

3-bosqich: tekshirish nimani solishtiradi?

DKIM tekshirishi shuni tekshiradiki: imzo hisoblashda ishlatilgan sarlavhalar va (standartda ko‘rsatilgan) tayanch qism qiymatlari xabarning o‘sha ko‘rinishiga mos keladimi. Imzolangandan keyin sarlavhalar yoki ularning imzoda ko‘zda tutilgan qismlari o‘zgarsa, natija “fail”ga ketishi ehtimoli yuqori.

Amalda bu, masalan, ba’zi gatewaylar tomonidan sarlavhalar qayta yozilishi yoki “oversizing”/format farqlari keltirilishi bilan bog‘liq muammolarni yuzaga keltirishi mumkin. Shu sababli jo‘natuvchi qaysi sarlavhani imzolashini ehtiyot tanlashi kerak.

DKIM va boshqa tekshiruvlar: taqqoslash (SPF/DMARC)

DKIM SPF va DMARC bilan birga ishlatilishi mumkin. SPF server darajasida IP manbasini tekshirsa, DKIM sarlavha darajasida kriptografik isbot beradi. DMARC esa siyosatni birlashtirib, DKIM/SPF natijalariga qarab nima qilish kerakligini belgilaydi.

Quyidagi jadval DKIMning joyini aniqroq ko‘rsatadi.

Mexanizm Nimani tekshiradi Qayerdan ma’lumot oladi Asosiy natija
DKIM Xabar sarlavhalaridagi imzo mos keladimi DNSdagi public key (TXT yozuv) Imzo “pass/fail”
SPF SMTP jo‘natuvchi IP ruxsat etilganmi DNSdagi SPF yozuv (TXT) IP mos/nomos
DMARC DKIM/SPF natijalariga siyosat qo‘llaydi DNSdagi DMARC yozuv (TXT) “quarantine/reject” kabi harakatlar

Tarix va kontekst: DKIM qanday paydo bo‘lgan?

DKIM g‘oyasi pochta firibgarligiga qarshi kurash doirasida paydo bo‘lgan: spam va spoofingga qarshi ishonchni “xabar ichidagi” kriptografik isbot bilan mustahkamlash zarurati sezilgan. Dastlabki ishlanmalar ochiq muhokamalar va RFC seriyalar orqali standartlashgan.

Standartlash yo‘li aniq hujjatlar bilan ketgan: RFC 4871 (2007-yil) DKIM bo‘yicha avvalgi spetsifikatsiya sifatida ko‘riladi, keyin u modernlashtirilib va qayta tartibga solingan. Yakuniyroq va keng qo‘llanayotgan asosiy hujjatlardan biri RFC 6376 (2011-yil) bo‘lib, u DKIMni rasmiy ravishda belgilaydi.

DKIMni amaliy sozlash: tanlash mezonlari va tipik xatolar

DKIM sozlashda asosiy ishlar: DNSda selektor bo‘yicha public keyni joylash, mail serverda DKIM-Signature imzosini yaratish sozlamalarini kiritish, hamda qaysi sarlavhalar imzolanishini tanlash. Bu uchala nuqtani noto‘g‘ri qilsangiz, tekshiruv “fail”ga ketishi mumkin.

Quyida amaliy qarorlar uchun aniq mezonlar keltiriladi.

Qaysi sarlavhalarni imzolash kerak?

  • “From” va “Subject” kabi foydalanuvchi ko‘radigan sarlavhalar ko‘pincha imzolanadi, ammo gatewaylar ularni o‘zgartirishi mumkin; bu “fail”ga olib kelishi ehtimolini oshiradi.
  • “Date” imzolanadigan bo‘lsa, vaqt formati yoki timezone qayta formatlanishi tekshiruvga ta’sir qilishi mumkin.
  • Ko‘pincha eng barqaror bo‘ladigan sarlavhalar tanlanadi; maqsad — yo‘lda o‘zgarmaydigan (yoki normalizatsiya orqali mos keladigan) qismlarni imzolash.

Selektor (s=) va domen (d=) mos tushishi shart

DNSdagi TXT yozuv selektor nomi bilan bog‘lanadi. Masalan, mail server DKIM-Signature ichida s=selector1 desa, DNSda selector1 bilan boshlangan TXT joylashgan bo‘lishi kerak. Aks holda qabul qiluvchi public keyni topolmaydi va tekshiruv natijasi yomon bo‘ladi.

Shu bilan birga, d= parametri ham domen qoidalariga mos bo‘lishi zarur. Domen noto‘g‘ri ko‘rsatilsa, DNS so‘rovi boshqa joydan kalit qidiradi.

Canonicalizatsiya va “body” tekshirish siyosati

DKIMda imzo hisoblashda “canonicalization” (matnni yagona ko‘rinishga keltirish) parametrlari bor. Ba’zi tizimlar xabar tanasida bo‘sh qatorlarni yoki satr yakunlari (line ending)ni o‘zgartirishi mumkin. Agar jo‘natuvchi tanani qattiq rejimda imzolasa, yo‘lda o‘zgarish bo‘lib qolsa “fail” ehtimoli ko‘payadi.

Amaliy amaliyot sifatida: qabul qiluvchingizning gatewaylari yoki mail-relaylarida xabar tanasi o‘zgaradimi-yo‘qmi tekshirib, canonicalization va body tekshirish rejimini shunga mos tanlang.

Eng ko‘p uchraydigan muammolar

  • DNS TXT noto‘g‘ri joylashgan: selektor nomi yoki domen nomi DKIM-Signature parametrlariga mos kelmaydi.
  • Kalit formati xato: DKIM public key bazaga keltirilgan formatda bo‘lishi kerak; noto‘g‘ri uslubda kiritilsa tekshiruv ishlamaydi.
  • Imzolangan sarlavhalar yo‘lda o‘zgaradi: masalan, ba’zi tizimlar “Subject” yoki “Date”ni o‘zgartiradi.
  • Bir nechta DKIM imzosi: bir nechta server imzo qo‘ysa, tekshiruv natijalari chalkashishi mumkin; qaysi imzo “asosiy” siyosatga kirishini DMARC/SMS filtrlash belgilaydi.

Muammo qayerda ekanini topish uchun xabardagi DKIM-Signature sarlavhasini ko‘rib, “d=” va “s=” qiymatlari hamda DKIM-tekshiruv natijasidagi “selector” mos kelishini solishtiring.

FAQ

DKIM “shifrlash” qiladimi?

Yo‘q. DKIM xabarni shifrlamaydi. U xabar sarlavhalarida imzo qo‘yib, tekshirishni ta’minlaydi. Shifrlash esa odatda boshqa mexanizmlar (masalan, TLS) bilan bog‘liq.

DKIM faqat “From” sarlavhasini tekshiradimi?

Yo‘q. DKIM qaysi sarlavhalarni imzolashini jo‘natuvchi belgilaydi. Imzolangan sarlavhalar ro‘yxati DKIM-Signature ichida ko‘rsatiladi, shuning uchun tekshiruv shu ro‘yxat bo‘yicha amalga oshadi.

DKIM pass bo‘lsa, xabar albatta ishonchlimi?

DKIM pass bo‘lsa, imzo mos kelgan bo‘ladi; bu firibgarlik ehtimolini kamaytiradi. Ammo yakuniy baholash ko‘pincha SPF va DMARC natijalari bilan birga ko‘riladi, chunki DMARC siyosati DKIM pass bo‘lishi yetarlimi yoki qo‘shimcha shartlar kerakligini belgilaydi.

DKIM fail bo‘lsa, xat avtomatik rad etiladimi?

Har doim emas. DMARC siyosatida ko‘rsatilgan “reject” yoki “quarantine” kabi harakatlar mavjud bo‘lsa rad etilishi mumkin. Agar DMARC qo‘llanmasa, DKIM fail natijasi filtrlarda past baho bo‘lib qolishi ham mumkin.

DNSda DKIM kalit yozuvini qayerga qo‘yaman?

U TXT yozuv ko‘rinishida selektor va domen bo‘yicha joylashtiriladi. DKIM-Signaturedagi s= va d= qiymatlari bilan DNSdagi yozuv “nom”i bir-biriga mos tushishi kerak. Aniq nomlash sxemasi RFC 6376 bo‘yicha ishlaydi.

DKIM imzosini tekshirishni qanday sinab ko‘rish mumkin?

Amaliy testda yuborilgan xabarni pochta mijozida (yoki tahlil vositasida) DKIM-Signature sarlavhasini ko‘rib, “d=” va “s=” mosligini tekshiring, keyin DKIM tekshiruvi natijasini kuzating. Eng ishonchli yondashuv — real qabul qiluvchi serverlaringizdan qayta ishlangan (relaysiz yo‘l bo‘lmagan) xabar bilan test qilish.

Xulosa

DKIM — elektron pochtada jo‘natuvchi domen nomidan xabar yuborilganini sarlavha darajasida kriptografik imzo bilan tekshirish imkonini beradi. Bu mexanizm DKIM-Signature orqali imzo qo‘shadi, qabul qiluvchi esa DNSdagi public key yordamida tekshiradi.

Amaliy natija uchun eng muhimlari: DNSdagi selektor/domen mosligi, imzolangan sarlavhalarni yo‘lda o‘zgarmaydigan qilib tanlash va canonicalizatsiya rejimini relayingiz xatti-harakatlariga moslashtirishdir.