DMARC چیست؟ راهنمای کامل و ساده
تصور کنید کسی بتواند با استفاده از نام دامنه شما، برای مشتریان یا همکارانتان ایمیل جعلی بفرستد. ایمیلهایی که ظاهراً از طرف شما هستند، اما شما هیچ اطلاعی از آنها ندارید. این دقیقاً همان چیزی است که DMARC برای مقابله با آن طراحی شده است.
DMARC مخفف Domain-based Message Authentication, Reporting & Conformance است. به زبان ساده، DMARC یک استاندارد امنیتی ایمیل است که به صاحب دامنه اجازه میدهد مشخص کند سرورهای دریافتکننده ایمیل با پیامهایی که هویتشان تأیید نشده چه رفتاری داشته باشند. DMARC روی دو استاندارد دیگر به نامهای SPF و DKIM بنا میشود و به آنها یک لایه «سیاستگذاری» و «گزارشدهی» اضافه میکند [citation:5].
نکته مهم این است که DMARC فقط یک رکورد DNS نیست؛ یک چارچوب کامل است که سه کار انجام میدهد: اول بررسی میکند که ایمیل واقعاً از دامنه شما آمده یا نه، دوم به گیرنده میگوید با ایمیل جعلی چه کند، و سوم به شما گزارش میدهد که چه کسی از نام دامنه شما ایمیل میفرستد [citation:15].
بهروزرسانی 2026: DMARC در سال 2026 با RFC 9989 وارد مسیر استانداردهای رسمی (Standards Track) شد. همچنین RFCهای 9990 و 9991 بهترتیب گزارشهای Aggregate و Failure را پوشش میدهند. این یعنی DMARC از یک پیشنهاد غیررسمی به یک استاندارد کاملاً تثبیتشده تبدیل شده است [citation:5].
چرا به DMARC نیاز داریم؟
ایمیل از ابتدا برای اعتماد طراحی نشده بود. هر کسی میتواند یک سرور ایمیل راهاندازی کند و خود را جای دیگری جا بزند. این مشکل «جعل هویت» یا Spoofing نام دارد و پایه و اساس بسیاری از حملات فیشینگ است.
SPF و DKIM هر کدام بخشی از این مشکل را حل میکنند، اما هیچکدام بهتنهایی کافی نیستند:
- SPF مشخص میکند کدام سرورها مجاز به ارسال ایمیل از طرف دامنه شما هستند.
- DKIM یک امضای دیجیتال به ایمیل اضافه میکند تا مطمئن شوید در مسیر تغییر نکرده است.
- DMARC این دو را به هم متصل میکند و میگوید: «اگر ایمیل از SPF یا DKIM رد شد، این کار را بکن» [citation:15].
بدون DMARC، یک مهاجم میتواند ایمیل جعلی بفرستد و SPF یا DKIM هم کاری با او نداشته باشند، چون آنها فقط «تأیید هویت» میکنند و نه «سیاستگذاری». DMARC این خلأ را پر میکند.
قبل از DMARC، باید SPF و DKIM سالم باشند
DMARC بهتنهایی معجزه نمیکند. اگر SPF و DKIM شما درست تنظیم نشده باشند، DMARC هم نمیتواند کار کند. DMARC مفهوم Alignment یا «همراستایی» را بررسی میکند. یعنی نه فقط اینکه SPF یا DKIM پاس شده، بلکه اینکه دامنهای که در SPF یا DKIM آمده با دامنهای که کاربر در فیلد From میبیند یکی باشد یا از یک دامنه سازمانی مشترک باشند [citation:5].
اگر SPF یا DKIM شما بدون Alignment پاس شوند، DMARC همچنان شکست میخورد. به همین دلیل است که توصیه میشود قبل از انتشار DMARC، ابتدا SPF و DKIM را بهدرستی تنظیم و تست کنید.
رکورد DMARC کجا ساخته میشود؟
رکورد DMARC در DNS و بهصورت یک رکورد TXT ثبت میشود. نام رکورد دقیقاً _dmarc.example.com است و مقدار آن با v=DMARC1 شروع میشود [citation:6].
برای مثال، اگر دامنه شما example.com باشد، باید یک رکورد TXT با نام _dmarc و مقدار زیر بسازید:
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
توجه کنید که رکورد DMARC روی دامنه اصلی بهصورت خودکار همه زیردامنهها را هم پوشش میدهد، مگر اینکه برای زیردامنه رکورد جداگانه بسازید [citation:6].
شروع امن با p=none
هرگز بلافاصله سراغ سیاستهای سختگیرانه نروید. اولین قدم همیشه p=none است. این یعنی به گیرندهها بگویید: «هیچ اقدامی نکن، فقط به من گزارش بده» [citation:12].
در این مرحله، ایمیلهای جعلی همچنان به مقصد میرسند، اما شما گزارشهای ارزشمندی دریافت میکنید که نشان میدهد چه کسانی از نام دامنه شما ایمیل میفرستند. ممکن است سرویسهایی مثل CRM، سیستم ارسال خبرنامه، یا سرویس تیکتینگ شما باشند که خودتان هم فراموش کردهاید [citation:2].
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
بعد از تحلیل: quarantine یا reject
بعد از اینکه چند هفته یا چند ماه گزارشها را بررسی کردید و مطمئن شدید همه فرستندههای مجاز را میشناسید، میتوانید سیاست را سختتر کنید. دو گزینه پیش رو دارید:
quarantine یعنی ایمیلهایی که DMARC را پاس نمیکنند به پوشه اسپم یا هرزنامه گیرنده منتقل شوند. این یک حالت «نیمهسخت» است؛ نه ایمیل را رد میکند و نه کاملاً آزاد میگذارد [citation:12].
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com
reject یعنی ایمیلهایی که DMARC را پاس نمیکنند بهکلی رد شوند و هرگز به گیرنده نرسند. این سختگیرانهترین و در عین حال مؤثرترین حالت است. اگر اطمینان کامل دارید که همه فرستندههای مجاز SPF/DKIM را پاس میکنند، میتوانید مستقیم به reject بروید [citation:12].
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com
در مسیر رفتن از none به quarantine یا reject، میتوانید از تگ pct استفاده کنید تا سختگیری را بهتدریج اعمال کنید. مثلاً pct=10 یعنی فقط ۱۰٪ ایمیلهای ناموفق تحت تأثیر سیاست قرار بگیرند و بقیه مثل حالت none رفتار کنند [citation:2][citation:12].
تگهای مهم DMARC
رکورد DMARC از چند تگ تشکیل شده که هر کدام یک تنظیم خاص را کنترل میکنند:
v=DMARC1— نسخه DMARC. همیشه باید اول باشد.p— سیاست دامنه اصلی:none،quarantineیاreject[citation:6].sp— سیاست برای زیردامنهها. اگر تنظیم نشود، از سیاست دامنه اصلی ارثبری میکند [citation:9].rua— آدرس ایمیل برای دریافت گزارشهای Aggregate (خلاصه روزانه) [citation:17].ruf— آدرس ایمیل برای دریافت گزارشهای Forensic (جزئیات یک ایمیل ناموفق خاص).adkim— حالت Alignment برای DKIM:r(relaxed) یاs(strict) [citation:3][citation:8].aspf— حالت Alignment برای SPF:rیاs[citation:8].pct— درصد اعمال سیاست برای ایمیلهای ناموفق [citation:1][citation:12].fo— گزینههای گزارشدهی برای گزارشهای Forensic [citation:4].
حالتهای Alignment: Relaxed و Strict
DMARC دو حالت برای بررسی همراستایی دامنهها دارد:
Relaxed (پیشفرض و امنتر برای بیشتر سناریوها): دامنههایی که دامنه سازمانی (Organizational Domain) یکسانی دارند، همراستا محسوب میشوند. مثلاً mail.example.com و example.com در حالت Relaxed همراستا هستند [citation:5].
Strict: فقط دامنههایی که کاملاً یکسان باشند همراستا محسوب میشوند. یعنی mail.example.com با example.com در حالت Strict همراستا نیست [citation:5].
برای بیشتر سازمانها، Relaxed انتخاب بهتری است چون انعطاف بیشتری دارد و احتمال شکست خوردن ایمیلهای مشروع را کمتر میکند.
گزارشهای DMARC: Aggregate و Forensic
یکی از بزرگترین مزیتهای DMARC، دریافت گزارش از سرورهای دریافتکننده ایمیل است. دو نوع گزارش وجود دارد:
Aggregate Report (rua) — گزارشهای خلاصه روزانه بهصورت XML که نشان میدهد چه سرورهایی از طرف دامنه شما ایمیل فرستادهاند و SPF/DKIM آنها پاس شده یا خیر. این گزارشها معمولاً هر ۲۴ ساعت یکبار ارسال میشوند و اطلاعات شخصی حساسی ندارند [citation:17][citation:13].
Forensic Report (ruf) — گزارشهای جزئی برای هر ایمیل ناموفق که شامل هدرها و گاهی محتوای پیام است. به دلیل نگرانیهای حریم خصوصی، بسیاری از سرویسهای بزرگ دیگر این گزارشها را نمیفرستند [citation:17].
نکته عملی: برای روزمره، Aggregate Report کافی است. اگر rua را تنظیم نکنید، هیچ گزارشی دریافت نمیکنید. گزارشها معمولاً بین ۲۴ تا ۷۲ ساعت بعد از فعال شدن رکورد شروع به رسیدن میکنند [citation:17].
اشتباههای رایج در راهاندازی DMARC
بسیاری از تیمها در راهاندازی DMARC اشتباههای تکراری مرتکب میشوند. اینها را جدی بگیرید:
- رفتن مستقیم روی reject بدون Inventory: اگر همه فرستندهها را نشناسید، ممکن است ایمیلهای مشروع هم رد شوند [citation:7].
- فراموش کردن CRM/Newsletter/Transactional: سرویسهایی مثل Mailchimp، SendGrid یا سیستم تیکتینگ شما ممکن است از دامنه شما ایمیل بفرستند و شما فراموششان کنید.
- تنظیم SPF یا DKIM بدون Alignment: پاس شدن SPF کافی نیست؛ دامنه باید با From همراستا باشد [citation:5].
- جمعکردن Report بدون تحلیل: دریافت گزارش بدون بررسی آن، مثل داشتن دوربین امنیتی خاموش است.
- نادیده گرفتن Subdomainها: رکورد اصلی همه زیردامنهها را پوشش میدهد، اما اگر سرویسهای جداگانه دارید، بهتر است برای هر کدام رکورد جداگانه بسازید [citation:6].
- عدم هماهنگی با تیم بازاریابی: سرویسهای ایمیل مارکتینگ باید SPF/DKIM خودشان را تنظیم کنند و یا از دامنه اصلی شما با مجوز استفاده کنند.
چطور رکورد DMARC را تست کنیم؟
بعد از انتشار رکورد، حتماً بررسی کنید که درست تنظیم شده باشد. از این دستورها استفاده کنید:
dig TXT _dmarc.example.com nslookup -type=TXT _dmarc.example.com
خروجی باید دقیقاً همان مقداری باشد که تنظیم کردهاید. اگر رکورد را نمیبینید، ممکن است هنوز DNS Propagate نشده باشد یا رکورد را اشتباه وارد کرده باشید.
جدول مقایسه سیاستهای DMARC
| سیاست | رفتار با ایمیل ناموفق | سطح محافظت | زمان مناسب |
|---|---|---|---|
| p=none | تحویل عادی، فقط گزارش | بدون محافظت | شروع، حداقل ۹۰ روز |
| p=quarantine | انتقال به اسپم | متوسط | بعد از تأیید همه فرستندهها |
| p=reject | رد کامل در سطح SMTP | حداکثر | پس از اطمینان کامل |
سؤالات متداول
DMARC چیست؟
پروتکل احراز هویت، سیاستگذاری و گزارشدهی ایمیل است که بر SPF و DKIM بنا میشود و به صاحب دامنه اجازه میدهد مشخص کند با ایمیلهای جعلی چه رفتاری شود [citation:5].
DMARC را از چه سیاستی شروع کنیم؟
همیشه با p=none شروع کنید و حداقل ۹۰ روز گزارشها را تحلیل کنید. سپس بهتدریج به quarantine و در نهایت reject بروید [citation:12].
DMARC بدون SPF و DKIM کار میکند؟
خیر. DMARC به نتیجه SPF و/یا DKIM و Alignment آنها با دامنه From وابسته است. اگر SPF/DKIM نباشند، DMARC هم نمیتواند کار کند [citation:5].
رکورد DMARC کجا قرار میگیرد؟
در یک TXT Record در DNS و زیر نام _dmarc.example.com [citation:6].
RFC جدید DMARC چیست؟
در سال ۲۰۲۶، RFC 9989 پروتکل Core DMARC را روی Standards Track تعریف کرد. RFCهای 9990 و 9991 نیز گزارشهای Aggregate و Failure را پوشش میدهند [citation:5].
تفاوت rua و ruf چیست؟
rua برای گزارشهای Aggregate (خلاصه روزانه XML) و ruf برای گزارشهای Forensic (جزئیات یک ایمیل ناموفق خاص) است [citation:17].
چرا ایمیلهای مشروع هم رد میشوند؟
معمولاً به خاطر Alignment نبودن SPF/DKIM، تنظیمات اشتباه سرویسهای واسط، یا عدم هماهنگی با سرویسهای شخص ثالث است [citation:7].
منابع و مستندات
برای Mail Stack روی سرور به زیرساخت پایدار نیاز داری؟
اگر Mail Service یا ابزارهای سازمانی را روی VPS اجرا میکنی، قبل از Production سیاست DNS، PTR، SPF، DKIM و DMARC را کامل بررسی کن.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467




دیدگاهها (۰)