چگونه می توان DMARC ایجاد نمود؟


ℹ️ Dmarc چیست؟ Dmarc که مخفف(Domain-based Message Authentication, Reporting & Conformance) و به معنای" تصدیق هویت, گزارش و مطابقت پیام براساس دامنه" هست, یک پروتکل تایید هویت پیام اینترنتی می باشد. Dmarc بر روی پروتکل های Spf و Dkim که به طور گسترده مستقر هستند, ساخته می شود که با اضافه کردن یک عملگر گزارش, به فرستنده و گیرنده اجازه می دهد که حفاظت دامنه از ایمیل های جعلی ( Email Spoofing ) را بهبود بخشند و بر آن نظارت کنند.


 فن آوری های تایید هویت ایمیل- Spf و Dkim –بیش از یک دهه پیش به منظور فراهم کردن تضمین بیشتر بر هویت فرستنده ی پیام توسعه یافته بودند. بکارگیری این فن آوری ها به طور پیوسته افزایش یافته است اما مسئله ی ایمیل های جعلی و فریب دهنده رفع نشده است. به نظر می رسید اگر فرستنده ها از این فن آوری ها استفاده می کردند, گیرندگان ایمیل می توانستد به راحتی پیام های جعلی را ازآنهایی که به درستی به دامنه تصدیق شده اند را از هم تشخیص دهند.متاسفانه به دلایل متعدد به این صورت نتیجه نداده است.
 بیشترفرستنده ها محیط ایمیل پیچیده ای با سیستم های متعدد ارسال پیام دارند که معمولا شامل بعد سوم ارایه دهندگان خدمات هستند. تضمین اینکه هر پیام می تواند با استفاده از Spf و Dkim تصدیق شود, وظیفه ی پیچیده ای هست خصوصا با در نظر گرفتن اینکه این محیط ها در حال تغییرات زیاد و دایمی اند.
 اگر صاحب یک دامنه ترکیبی از پیام ها را بفرستد که برخی از آنها می توانند تصدیق شوند و برخی نه, گیرندگان ایمیل مجبورهستند پیام های مجاز که تصدیق نمی شوند و پیام های جعلی که آنها نیز تصدیق نمی شوند را از هم تشخیص دهند. به طور طبیعی, الگوریتم های اسپم مستعد خطا هستند و نیاز دارند که به طور مداوم تکامل یابند که بتوانند پاسخگوی تاکتیک های در حال تغییر اسپم کنندگان باشند. نتیجه این هست که تعدادی ایمیل های جعلی ناگزیر راه خود را به صندوق کاربر نهایی می یابند.
 فرستندگان بازخورد خیلی ضعیفی روی اسقرارهای تصدیق هویت ایمیل شان می گیرند. جز اینکه پیام ها به فرستنده برگشت بخورند, راهی برای تعیین تعداد پیام های که ارسال می شوند بدون اینکه بتوانند تصدیق شوند یا حتی حدود ایمیل های جعلی که دامنه ی فرستنده را مختل می کنند, وجود ندارد. این باعث می شود که عیب یابی مسایل تصدیق ایمیل به خصوص در محیط های پیچیده ی ایمیل بسیار سخت شود.
 حتی اگر فرستنده زیرساخت تصدیق ایمیل را دسته بندی کند و همه ی ایمیل های مجاز قابل تایید باشند, گیرندگان ایمیل در رد کردن پیام های تایید نشده محتاط هستند از آنجا که آنها نمی توانند مطمئن باشند که جریانی از پیام های مجازکه بدون علامت هستند وجود ندارد.
 تنها راهی که این مشکلات قابل بازیابی اند زمانی هست که فرستنده و گیرنده اطلاعات را با یکدیگر به اشتراک می گذارند. گیرندگان اطلاعات زیرساخت تایید ایمیل شان را برای فرستندگان فراهم می کنند در حالی که فرستندگان به گیرندگان می گویند که چه کنند وقتی پیام دریافت شده تصدیق نمی شود.
 در سال 2007 پی پال در این رویکرد پیشگام شد و سیستمی با یاهومیل و بعدا با جی میل برای همکاری در این روش تدبیر کرد. نتایج بسیار موثر بود و منجر به کاهش قابل توجهی در ایمیل مشکوک جعلی شد که به نظر می رسید از پی پال هستند که توسط گیرندگان پذیرفته شده اند.
 هدف Dmarc در همکاری فرستنده ها و گیرنده ها برای بهبود شیوه های تصدیق ایمیل فرستنده ها و قادرساختن گیرندگان برای رد کردن پیام های تایید نشده هست. 
 Dmarc و فرآیند تصدیق هویت ایمیل
 Dmarc برای ست شدن در فرآیند موجود تصدیق هویت ایمیل ورودی سازمانها طراحی شده است. روش عملکرد آن بدین صورت هست که به دریافت کنندگان ایمیل کمک می کند که تعیین کنند که پیام ادعا شده در تراز با آنچه گیرنده در مورد فرستنده می داند هست یا نه. اگر نه, Dmarc شامل راهنما برای چگونگی رسیدگی به پیام های غیرهم تراز می باشد. به عنوان مثال,  فرض کنید که گیرنده Spf و Dkim بعلاوه فیلترهای اسپم خودش را بکار گرفته است, جریان چیزی شبیه این خواهد بود:

 
 
 

به طور کلی, Dmarc برای برآوردن الزامات زیر طراحی شده است:
 حداقل کردن مثبت های کاذب
 ارایه گزارش تصدیق هویت قوی
 اظهار خط مشی فرستنده در گیرنده ها
 کاهش انتقال فیشینگ موفق
 کار در سطح اینترنت
 حداقل رساندن پیچیدگی
 بسیار مهم هست که توجه کنید که Dmarc  روی مشخصات هر دو رکورد Spf و Dkim ساخته می شود که در حال حاضر در حال توسعه هستند.


پروتکل DMARC با بررسی سه عامل کلیدی، اصالت ایمیل‌های دریافتی را تأیید می‌کند:
1.  SPF (Sender Policy Framework): ابتدا بررسی می‌کند که آیا سرور ایمیل فرستنده، مجوز لازم برای ارسال ایمیل از طرف دامنه مورد نظر را دارد یا خیر. به عبارت دیگر، آیا این سرور مجاز به ارسال ایمیل با آدرس دامنه شما است؟
2.  DKIM (DomainKeys Identified Mail): سپس DMARC اطمینان حاصل می‌کند که ایمیل در طول مسیر ارسال دستکاری نشده است. DKIM با استفاده از امضای دیجیتال، صحت و تمامیت محتوای ایمیل را تأیید می‌کند.
3.  Alignment (هم‌ترازی - نکته کلیدی): این مهم‌ترین بخش DMARC است. در این مرحله، DMARC بررسی می‌کند که آیا دامنه واقعی فرستنده ایمیل با دامنه‌هایی که در SPF و DKIM تأیید شده‌اند، هم‌تراز (یکسان) هستند یا خیر. این هم‌ترازی تضمین می‌کند که ایمیل واقعاً از طرف دامنه ادعا شده ارسال شده و نه یک دامنه فیشینگ یا جعلی.
با ترکیب این سه بررسی، DMARC به گیرندگان ایمیل کمک می‌کند تا ایمیل‌های معتبر را شناسایی کرده و ایمیل‌های مشکوک را مسدود یا در پوشه اسپم قرار دهند.


 در ادامه نحوه ایجاد Dmarc رکورد را شرح خواهیم داد. برای ایجاد Dmard رکورد نیاز به یک رکورد از نوع TXT خواهیم داشت. باید دقت داشته باشید قبل از ایجاد Dmarc  حتما باید رکورد های spf و Dkim را جنریت کرده باشیم. درصورتی که رکوردهای عنوان شده ایجاد نشد هابشند میتوانید از لینک تعریف امضای DKIM   اقدام به ایجاد Dkim نمایید.
 فرمت کلی رکورد Dmarc به صورت ذیل میباشد.

 

توضیح پارامترهای استفاده شده :
 V :  این پارامتر (Version) و نسخه را مشخص میکند که مشخصا باید برابر با Dmarc باشد.
 P :  پارامترp (Policy اصلی) تعیین کننده عملیاتی میباشد که ما قصد داریم بر روی ایمیل های دریافتی اعمال شود که میتواند سه گزینه را تنظیم کنیم .   
 1-    None  : عملیات خاصی را صورت نمیدهد. فقط مانیتور میشود  
 2-    Reject : ایمیل های دریافتی را ریجکت میکند.  
 3-    Quarantine : عملیات قرنطینه را اعمال میکند.
 4-    rua : آدرس ایمیل برای گزارش کلی میباشد . مثال : (rua=mailto:reports@yourdomain.com)

 

دیگر پارامترها اختیاری میباشند و اجباری در استفاده از این پارامترها نمیباشد.  در کنترل پنل نیز میتوانید مانند تصاویر اقدام به ایجاد رکورد Dmarc نمایید.

 
 

چند نمونه رکورد DMARC برای سطوح مختلف امنیت  می‌نویسیم تا دقیق بدانیم هر مرحله چه کاربردی دارد:

1- حالت کاملاً امن (فقط مانیتورینگ)
مناسب: شروع کار - تست اولیه
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
ویژگی‌ها:
هیچ ایمیلی بلاک نمی‌شود
فقط گزارش دریافت می‌کنی
بهترین گزینه برای شروع

2- امنیت سبک (گزارش + کنترل کم)
مناسب: بعد از بررسی اولیه
v=DMARC1; p=none; pct=100; rua=mailto:dmarc@yourdomain.com; sp=none
ویژگی‌ها:
همچنان بلاک نمی‌کند
ولی گزارش کامل‌تر می‌دهد
شامل ساب‌دامین‌ها هم می‌شود

3- امنیت متوسط (ارسال مشکوک به Spam)
مناسب: وقتی مطمئن شدی SPF و DKIM درست هستند
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100
ویژگی‌ها:
ایمیل‌های مشکوک → Spam
ایمیل‌های معتبر → Inbox
تعادل بین امنیت و ریسک

4- امنیت متوسط پیشرفته (ساب‌دامین کنترل‌شده)
v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100
ویژگی‌ها:
هم دامنه اصلی هم ساب‌دامین‌ها کنترل می‌شوند
برای شرکت‌ها مناسب‌تر
 
5- امنیت بالا (حالت سخت‌گیرانه)
مناسب: وقتی همه چیز تست شده
v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com; sp=reject; pct=100
ویژگی‌ها:
ایمیل جعلی کلاً رد می‌شود
بیشترین سطح امنیت
اگر اشتباه تنظیم شود ممکن است ایمیل واقعی هم بلاک شود ⚠️

6- امنیت بالا + گزارش دقیق‌تر (پیشرفته)
v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com; ruf=mailto:forensics@yourdomain.com; fo=1; sp=reject; pct=100
ویژگی‌ها:
گزارش کلی + گزارش دقیق خطاها
مناسب سازمان‌ها
امکان تحلیل spoofing کامل
⚠️ نکته خیلی مهم (پشتیبانی واقعی)
قبل از رفتن به quarantine یا reject حتماً باید: ✔ SPF درست باشد ✔ DKIM فعال باشد ✔ ایمیل‌های واقعی تست شده باشند