SPF siyosatini yozishni o'rganish
Domeningiz nomidan yuboriladigan elektron pochta xabarlari uchun SPF siyosatini qanday yozish/to‘g‘ri sozlashni o‘rganib oling
Har bir SPF yozuvi v=spf1 bilan boshlanishi shart, so‘ng mexanizmlar ketma-ketligi (chapdan → o‘ngga), keyin kerak bo‘lsa modifikatorlar; tekshiruv birinchi mos keladigan mexanizmda to‘xtaydi va odatda yakuniy natijani all mexanizmi belgilaydi (-all, ~all, ?all).
Umumiy tuzilma (tartib muhim)
Har bir mexanizm oldidan belgilagich (qualifier) bo‘lishi mumkin:
- + : Pass (agar qualifier yozilmasa u + qualifier deb qabul qilinadi) — qabul qilish;
- - : Fail (qattiq rad etish) — rad qilish;
- ~ : SoftFail — qabul qilinadi, lekin shubhali deb belgilanadi;
- ? : Neutral — belgilangan siyosat mavjud emas.
Misollar: -all, ~mx, ?include:example.uz.
1. Boshlanishi: versiya (majburiy)
Har doim SPF yozuvi quyidagidan boshlanadi:
Bu elektron xabar qabul qiluvchilarga “SPF 1-versiyasi” ekanini anglatib turadi. Agar bu qiymat bilan boshlanmasa — yozuv noto‘g‘ri hisoblanadi.
2. Mexanizmlar — asosiy qurilish bloklari (sintaksis, ma’nosi, DNS ishlashi)
ip4:<ip4/cidr>
- Masalan: ip4:203.0.113.5 yoki ip4:203.0.113.0/24.
- Xabar jo'natuvchi IP manzili shu tarmoqda bo‘lsa, mos keldi deb belgilanadi.
- DNS lookup amalga oshmaydi (10 talik limit hisobida olinmaydi).
Misol:
ip6:<ip6/cidr>
- ip4 bilan bir xil, faqat bunisi IPv6 uchun. Bunda ham DNS lookup amalga oshmaydi.
Misol:
a yoki a:
- Masalan:
ayokia:mail.example.uz; - Domen A/AAAA yozuvini tekshiradi va jo'natuvchi IP manzili bilan solishtiradi;
- Yaxshisi
mail.example.uzni ko‘rsatish maqulroq; - DNS lookup amalga oshiriladi (limitga kiradi). Imkoni bo‘lsa ip4/ip6 ishlatganingiz maqulroq.
Misol:
yoki shunchaki a.
mx yoki mx:
- Masalan:
mxyokimx:example.uz; - MX yozuvlarini va ularning IP manzillarini tekshiradi;
- Asosiy domenni (
example.uz) ko‘rsatish tavsiya etiladi; - DNS lookup amalga oshiriladi.
include:
- Masalan:
include:_spf.google.com; - Bu mexanizm domen SPF siyosatini ushbu domen SPF siyosati sifatida o'ziga qo‘shadi. Agar Pass(+) bilan berilsa — mos keldi deb qabul qilinadi;
- DNS lookup amalga oshiriladi, 10 talik limitda hisobga olinadi.
exists:
- Masalan:
exists:%{i}._spf.example.uz; - Domen A yozuvi mavjudligini tekshiradi. 10 talik limitda hisobga olinadi.
all
- Yakunlovchi va "istalgan, har qanday boshqa holatlar uchun" kabi ma'noda ishlatiladi:
- -all = butunlay rad etish;
- ~all = qisman rad etish;
- ?all = neytral.
- DNS lookup amalga oshirilmaydi.
3. Modifikatorlar
redirect=
- Agar mexanizmlar mos kelmasa, SPF tekshiruvini boshqa domenga yo‘naltiradi;
- Agar
allmavjud bo‘lsa,redirectishlamaydi.
exp=
- Qandaydir FAIL bo‘lsa, sababini matn shaklida qaytaradi;
- 10 lik limitga qo‘shilmaydi.
Muhim qoidalar: 10 talik DNS lookup limiti
SPF bo‘yicha mexanizm va modifikatorlar maksimum 10 ta bo'lishi mumkin. Bundan oshadigan bo'lsa — PermError-ga olib keladi.
Hisobga olinmaydiganlari: ip4, ip6, all, exp.
Hisobga olinadiganlari: include, a, mx, ptr, exists, redirect.
Tekshiruv algoritmi
- Qabul qiluvchi server example.uz TXT yozuvini tekshiradi;
- SPF satrini tahlil qiladi (bu yozuv bitta bo‘lishi kerak);
- Mexanizmlarni chapdan o‘ngga tekshirishni boshlaydi;
- Agar birortasiga mos kelsa — natijani qaytaradi;
- Agar hech qaysinisi to'g'ri kelmasa va redirect mavjud bo'lsa — mana shu redirect-da berilgan domen tekshiruviga uzatadi;
- Agar hech qaysinisi to'g'ri kelmasa va redirect mavjud bo'lmasa — ?all (neytral) sifatida tekshiruv to'xtaydi;
- Agar 10 dan limit oshsa — PermError qaytariladi.
Amaliy misollar
Hammasini rad etish (email serverga ega bo'linmagan holat uchun muqobil variant)
Bitta server (IP orqali ruxsat berish)
Domen A/MX va Google Workspace ishlatsa
Bir nechta "uchinchi taraf" xizmatlaridan foydalanilsa
Sinov rejimi (yumshoq rad etish)
Ko‘p uchraydigan xatolar
- 10 dan ortiq DNS lookup qoidalari → PermError. Yechimi: include-larni kamaytirish, o'rniga ip4/ip6 ishlatish;
- Bir nechta SPF TXT yozuvi → bu noto‘g‘ri;
- +all yoki all umuman yo‘qligi → spufingga ruxsat berish bilan bir amal;
- ptr → sekin va ishonchsiz. Foydalanish tavsiya etilmaydi;
- Har doim DKIM+SPF+DMARC ishlatish eng maqul variant hisoblanadi. Ularning birortasini berilmasligi tushunarsiz tizimni yuzaga keltirishi mumkin.
Qo‘shimcha
- redirect — ko‘plab subdomenlar uchun SPF siyosati sozlanayotgan bo'lsa, mana shu modifikatordan foydalanish qulayroq variant hisoblanadi;
- exp — kamdan-kam qo‘llanadi, lekin tushunarli tilda taqdim qilinadigan xatolik sharhlarini beradi.
SPF yozuv sozlangandan so'ng quyidagilar bo'yicha tekshirib oling:
- SPF yozuvi domen uchun faqat bitta TXT yozuvi bilan sozlanganmi?
- Faqat real IP/hostlarni yozib sozlanganmi?
- DNS lookup amal qiluvchi mexanizmlar umumiy hisobda ≤ 10 holatdami?
- Avval ~all, keyin -all kabi qulay struktura qo'llanganmi?
- DKIM + DMARC bilan birgalikda sozlanganmi?