بررسی رکورد SPF: چه کسی می‌تواند به نام این دامنه ایمیل بفرستد؟

SPF رکوردی در DNS است که دامنه در آن سرورهای مجاز به ارسال ایمیلش را فهرست می‌کند. بدون آن، یا با رکوردی خراب یا بیش از حد باز، فرستادن ایمیل جعلی به نام آن دامنه آسان‌تر است. یک دامنه، نشانی ایمیل یا لینک بنویسید تا رکورد SPF آن را بخوانیم و توضیح دهیم.

نحوهٔ استفاده

  1. دامنه‌ای را که می‌خواهید بررسی کنید بنویسید، یا یک نشانی ایمیل یا لینک بچسبانید: ما فقط از دامنهٔ آن استفاده می‌کنیم.
  2. روی «بررسی SPF» بزنید. رکورد SPF را می‌خوانیم و هر include را دنبال می‌کنیم، همان‌طور که یک سرور گیرنده این کار را می‌کند.
  3. به پایان رکورد و تعداد پرس‌وجوها نگاه کنید: آنچه می‌خواهید ببینید «-all» یا «~all» و 10 پرس‌وجو یا کمتر است.

معنای هر نتیجه

این دامنه SPF ندارد
مشخص نمی‌کند کدام سرورها می‌توانند ایمیلش را بفرستند و همین جعل آن را آسان‌تر می‌کند. اگر دامنهٔ شماست، یک رکورد SPF منتشر کنید.
رکورد SPF خطا دارد
سرورهای گیرنده نمی‌توانند آن را اعمال کنند، پس از نظر آن‌ها دامنه SPF ندارد. نشانه‌های زیر می‌گویند چه چیزی اشکال دارد.
هر کسی می‌تواند به نام این دامنه ایمیل بفرستد
رکورد با «+all» تمام می‌شود که به همهٔ سرورهای دنیا اجازه می‌دهد. با این تنظیم، SPF از هیچ چیز محافظت نمی‌کند.
SPF به‌طور کامل از دامنه محافظت نمی‌کند
رکورد نمی‌گوید با سرورهایی که در فهرستش نیستند چه باید کرد، پس ایمیل جعلی به نام دامنه علامت‌گذاری نمی‌شود.
SPF درست تنظیم شده است
دامنه سرورهایی را که می‌توانند ایمیلش را بفرستند فهرست می‌کند و از سرورهای گیرنده می‌خواهد بقیه را علامت‌گذاری یا رد کنند. SPF به‌تنهایی جلوی جعل را نمی‌گیرد: DMARC است که به سرورهای گیرنده می‌گوید چه کنند.

معنای هر نشانه

  • دامنه هیچ رکورد SPF منتشر نمی‌کند.
  • یک دامنه (همین دامنه یا یکی از دامنه‌های گنجانده‌شده) بیش از یک رکورد SPF منتشر می‌کند. فقط یکی مجاز است، پس سرورهای گیرنده آن را خطا در نظر می‌گیرند.
  • رکورد عبارتی دارد که نادرست نوشته شده، پس سرورهای گیرنده آن را خطا در نظر می‌گیرند.
  • رکورد با احتساب همهٔ include‌ها به بیش از 10 پرس‌وجوی DNS نیاز دارد. بالای 10، سرورهای گیرنده آن را خطا در نظر می‌گیرند.
  • یک include به دامنه‌ای اشاره می‌کند که رکورد SPF ندارد، پس سرورهای گیرنده رکورد را خطا در نظر می‌گیرند.
  • include‌ها در یک حلقه می‌چرخند: یک دامنه در نهایت خودش را شامل می‌شود.
  • با «+all» تمام می‌شود: هر سروری در دنیا می‌تواند به نام این دامنه ایمیل بفرستد.
  • با «?all» تمام می‌شود: دربارهٔ سرورهایی که در فهرست نیستند چیزی نمی‌گوید، پس محافظتی نمی‌کند.
  • با «~all» تمام می‌شود: ایمیل سرورهای دیگر مشکوک علامت‌گذاری می‌شود اما رد نمی‌شود. این رایج‌ترین تنظیم است.
  • در انتها «all» ندارد، پس سرورهایی که در فهرست نیستند نتیجهٔ خنثی می‌گیرند و هیچ محافظتی وجود ندارد.
  • از «ptr» استفاده می‌کند، سازوکاری کند که استاندارد توصیه نمی‌کند. بسیاری از سرورهای گیرنده از آن صرف‌نظر می‌کنند.
  • از ماکروها (عبارت‌هایی با %) استفاده می‌کند که با هر پیام تغییر می‌کنند، پس نمی‌توانیم آن بخش را دنبال کنیم و تعداد واقعی پرس‌وجوها ممکن است بیشتر باشد.

چه کشورهایی را پوشش می‌دهد

با دامنه‌های هر کشوری کار می‌کند. رکورد را همان‌طور که سرورهای گیرنده می‌خوانند می‌خوانیم (RFC 7208): سازوکارهایش، نحوهٔ پایان آن، هر include و redirect تا 30 پرس‌وجو، و تعداد پرس‌وجوهای DNS در برابر سقف 10.

رکوردهای عمومی DNS دامنه را می‌خوانیم. اگر نشانی ایمیل یا لینک بنویسید، فقط دامنهٔ آن از مرورگر شما خارج می‌شود. دامنه‌ای که بررسی می‌کنید ذخیره نمی‌شود.

پرسش‌های متداول

SPF چیست؟

Sender Policy Framework: رکوردی در DNS که دامنه در آن سرورهای مجاز به ارسال ایمیلش را فهرست می‌کند. سروری که پیامی را دریافت می‌کند بررسی می‌کند که آیا سروری که آن را تحویل داده در این فهرست هست یا نه.

کدام بهتر است، «-all» یا «~all»؟

«-all» از سرورهای گیرنده می‌خواهد ایمیل سرورهایی را که در فهرست نیستند رد کنند؛ «~all» از آن‌ها می‌خواهد آن را مشکوک علامت‌گذاری کنند. هر دو محافظت می‌کنند و بسیاری از دامنه‌ها از «~all» استفاده می‌کنند و تصمیم را به DMARC می‌سپارند. «+all» و «?all» محافظت نمی‌کنند.

چرا سقف 10 پرس‌وجو مهم است؟

هر include، a، mx، ptr، exists و redirect باعث می‌شود سرور گیرنده از DNS پرس‌وجو کند. اگر کل رکورد به بیش از 10 پرس‌وجو نیاز داشته باشد، خطا در نظر گرفته می‌شود و SPF از کار می‌افتد. سرویس‌هایی را که دیگر استفاده نمی‌کنید حذف کنید یا از سرویس‌دهندهٔ خود یک include ساده‌تر بخواهید.

آیا SPF به‌تنهایی جلوی ایمیل‌های جعلی را می‌گیرد؟

خیر. SPF فرستندهٔ پنهان «پاکت» را بررسی می‌کند، نه نشانی‌ای را که در «از» می‌بینید. DMARC است که این دو را به هم پیوند می‌دهد و از سرورهای گیرنده می‌خواهد ایمیلی را که بررسی را نمی‌گذراند قرنطینه یا رد کنند. DMARC دامنه را هم بررسی کنید.