DMARC (Domain-based Message Authentication, Reporting & Conformance) یک استاندارد احراز هویت ایمیل است که به شما کمک میکند تا از دامنه خود در برابر جعل هویت و حملات فیشینگ محافظت کنید. این پروتکل به دریافتکنندگان ایمیل اجازه میدهد تا بررسی کنند که آیا ایمیلهای دریافتی واقعاً از طرف دامنه فرستنده ارسال شدهاند یا خیر و در صورت عدم تأیید، چه اقدامی انجام دهند.
هدف اصلی DMARC جلوگیری از سوءاستفاده از دامنه شما توسط اسپمرها و مهاجمان است. با پیادهسازی صحیح DMARC، میتوانید اطمینان حاصل کنید که ایمیلهای معتبر شما به مقصد میرسند و ایمیلهای جعلی از طرف دامنه شما رد یا قرنطینه میشوند.
۱. درک مفاهیم پایه: SPF و DKIM
DMARC بر اساس دو پروتکل اصلی دیگر بنا شده است که برای احراز هویت ایمیلها ضروری هستند:
۱.۱. SPF (Sender Policy Framework)
SPF به سرورهای ایمیل دریافتکننده اجازه میدهد تا بررسی کنند که آیا ایمیل از یک آدرس IP مجاز برای ارسال از دامنه شما آمده است یا خیر. این کار با افزودن یک رکورد TXT در DNS دامنه شما انجام میشود که لیست سرورهای مجاز را مشخص میکند.
مثال رکورد SPF:
miralishahidi.ir. 14400 IN TXT "v=spf1 mx a include:_spf.google.com ~all"
v=spf1: نشاندهنده نسخه SPF مورد استفاده.mx: به سرورهای ایمیل (MX records) دامنه اجازه ارسال میدهد.a: به آدرس IP سرور میزبانی دامنه اجازه ارسال میدهد.include:_spf.google.com: سرورهای ارسال ایمیل گوگل را نیز به لیست مجاز اضافه میکند (مثلاً اگر از G Suite استفاده میکنید).~all: به معنای "SoftFail" است؛ ایمیلهای ارسالی از سرورهای غیرمجاز را مشکوک علامتگذاری میکند اما رد نمیکند. گزینههای دیگر شامل-all(HardFail، رد کردن ایمیل) و+all(قبول کردن همه، توصیه نمیشود) هستند.
۱.۲. DKIM (DomainKeys Identified Mail)
DKIM یک امضای دیجیتال به هدر ایمیلها اضافه میکند. این امضا به سرورهای دریافتکننده ایمیل اجازه میدهد تا بررسی کنند که ایمیل در حین انتقال دستکاری نشده و واقعاً از طرف دامنه مشخص شده ارسال شده است. این کار با استفاده از یک جفت کلید عمومی و خصوصی انجام میشود؛ کلید عمومی در DNS دامنه قرار میگیرد و کلید خصوصی برای امضای ایمیلها استفاده میشود.
مثال رکورد DKIM:
default._domainkey.miralishahidi.ir. 14400 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQE..."
default._domainkey: سِلکتور (selector) DKIM است که برای شناسایی کلید عمومی در DNS استفاده میشود.v=DKIM1: نشاندهنده نسخه DKIM.k=rsa: نوع الگوریتم کلید (RSA).p=MIGfMA0GCSqGSIb3DQE...: کلید عمومی رمزنگاری شده شما.
۲. تنظیم رکورد DMARC در DNS
برای فعالسازی DMARC، شما باید یک **رکورد TXT** با نام _dmarc در **DNS** دامنه خود اضافه کنید. این رکورد به سرورهای ایمیل دریافتکننده میگوید که چگونه با ایمیلهایی که SPF و DKIM آنها با دامنه شما مطابقت ندارند، برخورد کنند و همچنین گزارشهایی را به شما ارسال میکند.
مثال رکورد DMARC:
_dmarc.miralishahidi.ir. 14400 IN TXT "v=DMARC1; p=quarantine; sp=quarantine; adkim=r; aspf=r; pct=100; fo=1; rf=afrf; ri=86400; ruf=mailto:miralishahidi@outlook.com; rua=mailto:info@miralishahidi.ir"
۲.۱. پارامترهای مهم DMARC
v=DMARC1: این پارامتر الزامی است و نسخه پروتکل DMARC را مشخص میکند.p=quarantine: این **سیاست (Policy)** تعیین میکند که با ایمیلهایی که از SPF و DKIM عبور نمیکنند، چه رفتاری شود.p=none: فقط گزارشها را دریافت کنید (مناسب برای فاز مانیتورینگ). ایمیلها به این علت رد نمیشوند.p=quarantine: ایمیلهای نامعتبر را به پوشه اسپم یا قرنطینه هدایت کنید.p=reject: ایمیلهای نامعتبر را به طور کامل رد کنید و اجازه رسیدن به مقصد را ندهید.
sp=quarantine: این سیاست برای **زیر دامنهها (Subdomains)** نیز اعمال میشود. اگر زیر دامنهای دارید، میتوانید یک سیاست متفاوت برای آن تعیین کنید.adkim=r: **تطبیق DKIM** بهصورت Relaxed باشد. (r: Relaxed،s: Strict)- Relaxed: نام دامنه در هدر "From" میتواند یک زیر دامنه از دامنه DKIM باشد.
- Strict: نام دامنه در هدر "From" باید دقیقاً با دامنه DKIM مطابقت داشته باشد.
aspf=r: **تطبیق SPF** بهصورت Relaxed باشد. (r: Relaxed،s: Strict)- Relaxed: نام دامنه در هدر "From" میتواند یک زیر دامنه از دامنه SPF باشد.
- Strict: نام دامنه در هدر "From" باید دقیقاً با دامنه SPF مطابقت داشته باشد.
pct=100: **درصد** ایمیلهایی که باید تحت سیاست DMARC بررسی شوند. (pct=100یعنی ۱۰۰٪ ایمیلها بررسی میشوند، میتوانید برای شروعpct=10را تنظیم کنید).fo=1: **Option برای گزارشدهی شکست (Failure Reporting Options)**.fo=1به معنای ارسال گزارش در صورت عدم موفقیت SPF یا DKIM است.rf=afrf: فرمت گزارشهای شکست (Aggregate Failure Reporting Format).afrfیک فرمت استاندارد XML است.ri=86400: بازه زمانی ارسال گزارشهای تجمیعی (Aggregate Reports) بر حسب ثانیه.86400ثانیه معادل ۲۴ ساعت است.rua=mailto:info@miralishahidi.ir: آدرس ایمیلی برای دریافت **گزارشهای تجمیعی (Aggregate Reports)**. این گزارشها خلاصهای از وضعیت DMARC را به صورت روزانه یا با فواصل زمانی مشخص ارائه میدهند.ruf=mailto:miralishahidi@outlook.com: آدرس ایمیلی برای دریافت **گزارشهای جزئی شکست (Forensic Reports)**. این گزارشها اطلاعات دقیقتری درباره ایمیلهای شکستخورده ارائه میدهند و ممکن است شامل هدرها و حتی بخشی از محتوای ایمیل باشند (در برخی موارد به دلیل مسائل حفظ حریم خصوصی، این گزارشها کمتر ارسال میشوند).
- شروع با
p=none: ابتدا DMARC را با سیاستp=noneتنظیم کنید. این به شما اجازه میدهد تا گزارشها را دریافت کرده و وضعیت احراز هویت ایمیلهای خود را بدون تأثیر بر روی تحویل آنها، مشاهده کنید. - تحلیل گزارشها: گزارشهای
ruaرا به دقت بررسی کنید تا ببینید کدام منابع ایمیل شما با SPF و DKIM مطابقت دارند. - افزایش تدریجی سیاست: پس از اطمینان از اینکه همه منابع ایمیل قانونی شما به درستی احراز هویت میشوند، سیاست را به
p=quarantineو سپس بهp=rejectارتقا دهید.
۳. بررسی تنظیمات DMARC
پس از افزودن رکوردهای DMARC، SPF و DKIM در DNS، ممکن است کمی زمان طول بکشد تا تغییرات در سراسر اینترنت منتشر شوند (زمان TTL). برای اطمینان از اعمال صحیح تنظیمات، میتوانید از ابزارهای زیر استفاده کنید:
۳.۱. استفاده از خط فرمان (Command Line)
میتوانید از دستور nslookup (در ویندوز) یا dig (در لینوکس/macOS) برای بررسی رکورد TXT مربوط به DMARC استفاده کنید:
nslookup -type=TXT _dmarc.miralishahidi.ir
یا برای لینوکس/macOS:
dig TXT _dmarc.miralishahidi.ir
خروجی این دستور باید رکورد TXT مربوط به DMARC شما را نمایش دهد.
۳.۲. استفاده از ابزارهای آنلاین
ابزارهای آنلاین متعددی برای بررسی رکوردهای DMARC، SPF و DKIM وجود دارند که به شما کمک میکنند تا وضعیت دامنه خود را به راحتی بررسی کنید:
- بررسی رکورد DMARC در MXToolbox
- DMARC Inspector by dmarcian
- Mail-Tester (برای بررسی کلی تحویلپذیری ایمیل)
نتیجهگیری
پیادهسازی DMARC، SPF و DKIM گامی حیاتی برای افزایش امنیت ایمیلهای سازمانی و شخصی شماست. با این اقدامات، نه تنها از اعتبار دامنه خود محافظت میکنید، بلکه به جلوگیری از حملات فیشینگ و اسپم که میتوانند آسیبهای جدی به کسبوکار و کاربران وارد کنند، نیز کمک میکنید. با دقت و پیروی از مراحل توضیح داده شده، میتوانید یک دفاع قدرتمند در برابر تهدیدات ایمیلی ایجاد کنید.