SPF (Sender Policy Framework) — butun dunyoga qaysi serverlardan sizning domeningiz nomidan pochta yuborishga ruxsat berilganini bildirish usuli. SPF boʻlmasa, xatlar koʻproq spamga tushadi, firibgarlarga esa manzilingizni soxtalashtirish osonroq boʻladi. Quyida yozuv sintaksisi, asosiy mexanizmlar va SPF ishlamay qolishiga olib keladigan xatolarni koʻrib chiqamiz.
SPF qanday ishlaydi
SPF — domeningiz DNS zonasidagi TXT yozuvi. Qabul qiluvchi server xatni olayotganda SMTPdagi MAIL FROM buyrugʻidan (u qaytarish manzili, Return-Path deb ham ataladi) joʻnatuvchi domenini oladi, shu domenning SPF yozuvini topadi va ulanayotgan serverning IP manzili ruxsat etilganlar roʻyxatida bor-yoʻqligini tekshiradi.
Tekshiruv natijasi quyidagilardan biri boʻladi: pass, fail, softfail, neutral, none, shuningdek DNS yoki yozuvning oʻzida xato boʻlsa — temperror va permerror.
SPF inson koʻradigan «Kimdan» (From) maydonidagi manzilni emas, balki konvert manzilini tekshiradi. Bu ikki manzilni DMARC moslashtirish (alignment) orqali bogʻlaydi.
Yozuv sintaksisi
Eng oddiy SPF yozuvi quyidagicha koʻrinadi:
example.uz. 3600 IN TXT "v=spf1 mx ip4:192.0.2.10 include:_spf.crm.example ~all"
Yozuv birinchi moslik topilguncha chapdan oʻngga oʻqiladi:
v=spf1— majburiy boshlanish, protokol versiyasi.mx— domenning MX yozuvlaridagi serverlarga ruxsat berish.ip4:192.0.2.10— aniq bir IP manzilga ruxsat berish.include:_spf.crm.example— boshqa domenning SPF yozuvi ruxsat bergan hamma narsaga ruxsat berish (masalan, xabarnoma xizmati yoki CRM).~all— qolgan barchasi uchun yumshoq rad etish.
Mexanizmlar
| Mexanizm | Misol | Maʼnosi | DNS soʻrovi |
|---|---|---|---|
ip4 | ip4:203.0.113.0/24 | IPv4 manzil yoki tarmoq | yoʻq |
ip6 | ip6:2001:db8::/32 | IPv6 manzil yoki tarmoq | yoʻq |
a | a yoki a:mail.example.uz | A/AAAA yozuvlaridagi IP manzillar | ha |
mx | mx | MX yozuvlaridagi serverlarning IP manzillari | ha |
include | include:_spf.crm.example | Boshqa domenning SPF yozuvini ulash | ha |
exists | exists:%{i}.spf.example.uz | Makroslar orqali murakkab tekshiruvlar | ha |
ptr | ptr | Eskirgan, ishlatish tavsiya etilmaydi | ha |
all | -all | Qolgan hamma narsa; oxirida yoziladi | yoʻq |
Yana redirect= modifikatori bor: joriy yozuvda hech narsa mos kelmasa, u tekshiruvni toʻliq boshqa domenning SPF yozuviga topshiradi. Kompaniyada bir xil qoidali domenlar koʻp boʻlsa, bu qulay.
Kvalifikatorlar
Har qanday mexanizm oldidan moslik boʻlganda natijani belgilaydigan belgi qoʻyish mumkin: + — pass (standart holat, odatda yozilmaydi), - — fail, ~ — softfail, ? — neutral. Amalda belgi deyarli har doim faqat all oldidan qoʻyiladi.
~all yoki -all
-all (hardfail) «roʻyxatda boʻlmagan hamma narsa — aniq biz emasmiz» degani. ~all (softfail) esa «ehtimol biz emasmiz, lekin qatʼiy rad etmang» degani.
-allboʻlganda baʼzi serverlar xatni DKIM va DMARC tekshiruvidan oldin, SMTP bosqichidayoq rad etadi. Agar SPFga biror xizmatni kiritishni unutgan boʻlsangiz, uning xatlari yoʻqoladi.~allboʻlganda hisobga olinmagan manbalardan kelgan xatlar odatda yetkaziladi, lekin past ishonch bilan yoki spam jildiga.
Oqilona yondashuv: ~all bilan boshlang, barcha haqiqiy yuborish manbalarini aniqlang (bunda DMARC hisobotlari yordam beradi), soʻng xohlasangiz -allga oʻting. Agar DMARC reject siyosati bilan sozlangan boʻlsa, soxtalashtirishdan asosiy himoyani aynan u taʼminlaydi va ~all yetarli.
Hech qachon +all ishlatmang: bu yozuv internetdagi istalgan serverga sizning nomingizdan pochta yuborishga ruxsat beradi.
10 ta DNS soʻrovi chegarasi
SPF standarti (RFC 7208) bitta tekshiruvda DNS soʻrovini talab qiladigan mexanizmlar sonini 10 ta bilan cheklaydi. include, a, mx, ptr, exists va redirect modifikatori hisoblanadi, ichma-ich joylashganlari ham: agar sizning include ichida yana uchta include boʻlsa, bu allaqachon toʻrtta soʻrov. ip4, ip6 va all hisoblanmaydi.
Chegara oshib ketsa, natija permerror boʻladi va koʻp qabul qiluvchilar buni SPF muvaffaqiyatsizligi deb qabul qiladi. Chegaraga sigʻish uchun:
- Soʻrovlarni sanang: yozuvni yoyib, ichki
includelarni hisoblashda onlayn SPF tekshiruvchilar, masalan mxtoolbox.com yordam beradi. - Endi foydalanmayotgan xizmatlarni olib tashlang.
- Manzillar oʻzgarmas boʻlsa,
avamxoʻrniga aniqip4yozing. - Ommaviy xabarnomalarni oʻz SPF yozuviga ega subdomendan (masalan,
news.example.uz) yuboring — uning chegarasi alohida boʻladi.
Kamroq maʼlum boʻlgan ikkinchi chegara ham bor: yozuv mavjud emasligini qaytargan «boʻsh» soʻrovlar (void lookups) ikkitadan oshmasligi kerak. Agar SPFda oʻchirilgan domenlarga havolalar qolgan boʻlsa, u ishga tushadi.
Bir domenga bitta yozuv
Domenda v=spf1 bilan boshlanadigan TXT yozuvi aynan bitta boʻlishi kerak. Ikkita boʻlsa, natija permerror. Bu keng tarqalgan xato: yangi xizmat ulandi, u «SPF qoʻshing» dedi va eski yozuv yonida ikkinchisi paydo boʻldi. Toʻgʻrisi — mexanizmlarni bitta yozuvga birlashtirish:
Notoʻgʻri:
"v=spf1 mx ~all"
"v=spf1 include:_spf.crm.example ~all"
Toʻgʻri:
"v=spf1 mx include:_spf.crm.example ~all"
Yozuv 255 belgidan uzun boʻlsa, u bitta TXT yozuvi ichida qoʻshtirnoqdagi bir nechta qatorlarga boʻlinadi — qabul qiluvchi ularni boʻshliqsiz birlashtiradi. Bu baribir bitta yozuv. Alohida SPF DNS turi (99-tur) eskirgan, faqat TXTdan foydalaning.
Boshqa keng tarqalgan xatolar
- Imlo xatolari:
v=spf1oʻrniga birsizv=spf,ip4:dan keyin boʻshliq, mavjud boʻlmagan domengainclude. alldan keyingi mexanizmlar:alldan keyin yozilgan hamma narsa eʼtiborga olinmaydi.- Unutilgan manbalar: bildirishnomalar yuboradigan sayt, buxgalteriya dasturi, CRM, onlayn kassa, ofisdagi skaner.
- Foydalanilmaydigan domenlarda SPF yoʻq: pochta yuborilmaydigan domenlar uchun
"v=spf1 -all"eʼlon qiling, shunda ularni soxtalashtirish qiyinroq boʻladi. - Yoʻnaltirish: oddiy yoʻnaltirishda xat boshqa serverdan ketadi va yakuniy qabul qiluvchida SPF oʻtmaydi. Bunda DKIM yordam beradi, chunki uning imzosi odatda yoʻnaltirishdan keyin ham saqlanadi.
SPFni dig TXT example.uz +short yoki nslookup -type=txt example.uz buyrugʻi bilan tekshirish mumkin, aniq bir xat uchun natija esa Authentication-Results sarlavhasida koʻrinadi (masalan, spf=pass smtp.mailfrom=example.uz).
MCMailda domeningiz uchun SPF, DKIM va DMARCni biz sozlaymiz: ulanishda aniq yozuvlarni yuboramiz va ularni siz allaqachon foydalanayotgan xizmatlar bilan birlashtirishga yordam beramiz. Xatlar baribir spamga tushayotgan boʻlsa, xatlar nega spamga tushadi maqolasini oʻqing.