چک‌نت.

سیاست DMARC: از پایش تا رد ایمیل جعلی

قدم‌به‌قدم از p=none به quarantine و reject، بدون این‌که ایمیل‌های واقعی گم شوند.

بررسی با چک‌نت: دی‌ان‌اس (DNS)

سیاست DMARC چیست؟

سیاست DMARC یک رکورد TXT با نام _dmarc در DNS دامنهٔ شماست که به سرورهای گیرنده می‌گوید با ایمیلی که ادعا می‌کند از دامنهٔ شماست ولی بررسی‌ها را رد نمی‌کند چه کنند. ایمیلی از DMARC رد می‌شود که نه SPF آن با دامنهٔ نشانی «از» (From) جور باشد و نه امضای DKIM آن. امضای DKIM امضای رمزنگاری‌شده‌ای است که سرویس ایمیل روی هر نامه می‌زند و کلید عمومی‌اش در DNS شماست؛ چک‌نت آن را بررسی نمی‌کند، ولی سرویس ایمیلتان در پنل خودش مقدارش را می‌دهد. برای SPF راهنمای SPF را ببینید.

چرا مهم است؟

بدون DMARC، کسی که ایمیل جعلی به اسم دامنهٔ شما می‌فرستد، مثلاً برای فیشینگ مشتری‌هایتان، کمتر جلویش گرفته می‌شود. جیمیل و یاهو از سال ۲۰۲۴ از فرستنده‌های پرحجم دست‌کم یک رکورد DMARC، حتی با p=none، می‌خواهند. گزارش‌هایی که DMARC برایتان می‌فرستد هم نشان می‌دهد چه سرورهایی از طرف دامنه ایمیل می‌فرستند.

قدم‌به‌قدم تا رد ایمیل جعلی

  1. اول SPF و DKIM را برای همهٔ سرویس‌هایی که از طرف دامنه ایمیل می‌فرستند درست کنید؛ هر سرویس در راهنمای خودش مقدار DKIM را می‌دهد.
  2. در پنل DNS یک رکورد از نوع TXT با نام _dmarc و مقداری مثل نمونهٔ اول پایین بسازید. با p=none هنوز هیچ ایمیلی رد نمی‌شود و فقط گزارش می‌گیرید.
  3. چند هفته گزارش‌هایی را که به نشانی rua می‌رسد بخوانید. این گزارش‌ها فایل XML هستند؛ یک سرویس تحلیل گزارش DMARC خواندنشان را ساده می‌کند. هر فرستندهٔ واقعی که رد شده را با SPF یا DKIM درست کنید.
  4. وقتی تقریباً همهٔ ایمیل‌های واقعی قبول می‌شوند، p=none را به p=quarantine تغییر دهید تا ایمیل‌های ردشده به پوشهٔ اسپم بروند. چند هفته دیگر گزارش‌ها را زیر نظر بگیرید.
  5. در پایان به p=reject بروید تا ایمیل جعلی اصلاً تحویل داده نشود.
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com

مشکل‌های رایج

  • بیش از یک رکورد: اگر زیر _dmarc دو رکورد DMARC باشد، گیرنده‌ها هیچ‌کدام را به کار نمی‌برند. یکی‌شان کنید.
  • نام اشتباه: بعضی پنل‌ها نام دامنه را خودشان اضافه می‌کنند؛ اگر _dmarc.example.com را کامل بنویسید، ممکن است رکورد زیر نامی تکراری ساخته شود. فقط _dmarc را بنویسید.
  • ماندن روی p=none: این مرحله فقط پایش است و جلوی هیچ ایمیل جعلی را نمی‌گیرد. پس از بررسی گزارش‌ها جلو بروید.
  • گزارش به دامنهٔ دیگر: اگر نشانی rua روی دامنهٔ دیگری است، آن دامنه باید با یک رکورد اجازهٔ گرفتن گزارش را بدهد. سرویس‌های گزارش DMARC این را برایتان آماده می‌کنند.
  • ایمیل‌های بازارسالی و فهرست‌های پستی: بازارسال معمولاً SPF را می‌شکند ولی امضای DKIM را نگه می‌دارد. برای همین DKIM برای رسیدن به p=reject ضروری است.

برچسب sp سیاست زیردامنه‌ها را جدا تعیین می‌کند و بدون آن، زیردامنه‌ها از p پیروی می‌کنند. برچسب pct که در راهنماهای قدیمی برای اعمال سیاست روی درصدی از ایمیل‌ها آمده، در استاندارد جدید (سند RFC 9989، سال ۲۰۲۶) کنار گذاشته شده؛ به‌جایش مرحله‌به‌مرحله از none به quarantine و reject بروید.

بررسی با چک‌نت

در صفحهٔ DNS چک‌نت ردیف DMARC یکی از این سه را نشان می‌دهد: «سیاست DMARC تعریف شده» که درست است، «فقط پایش می‌کند» یعنی هنوز روی p=none هستید، و «سیاست DMARC ندارد» که اگر دامنه رکورد MX دارد هشدار است. مقدار رکورد را در جدول رکوردها کنار _dmarc TXT می‌بینید.