رکوردهای SPF، DKIM، و DMARC سه استاندارد مهم هستند که برای تأیید هویت و جلوگیری از جعل ایمیل استفاده میشوند. این رکوردها به ویژه در زمینههای امنیت ایمیل و مبارزه با اسپم و فیشینگ کاربرد دارند.
SPF (Sender Policy Framework):
SPF یک رکورد DNS است که مشخص میکند کدام سرورهای ایمیل مجاز به ارسال ایمیل به نمایندگی از دامنه شما هستند. با استفاده از SPF، گیرندگان ایمیل میتوانند تأیید کنند که آیا ایمیل واقعاً از دامنهی فرستنده آمده یا خیر. اگر ایمیلی از سروری ارسال شود که در رکورد SPF تعریف نشده، احتمالاً ایمیل به عنوان اسپم شناخته میشود یا رد میگردد.
تعریف و ساختار رکورد SPF:
رکورد SPF به صورت یک رکورد از نوع TXT در DNS تنظیم میشود. محتوای این رکورد شامل یک لیست از آدرسهای IP، دامنهها، یا نامهای هاست است که اجازه دارند ایمیلها را از طرف آن دامنه ارسال کنند.
به طور معمول، یک رکورد SPF به این شکل است:
v=spf1 ip4:192.0.2.0/24 include:example.com -all
اجزای اصلی رکورد SPF:
v=spf1: مشخصکننده نسخه پروتکل SPF است که معمولاً spf1 است.
ip4:192.0.2.0/24: این بخش نشان میدهد که تمام آدرسهای IP در این رنج (در اینجا 192.0.2.0 تا 192.0.2.255) مجاز به ارسال ایمیل از این دامنه هستند.
include:example.com: با استفاده از این دستور، میتوان رکورد SPF دامنه دیگری (مانند example.com) را در رکورد خودتان گنجاند. این کار برای زمانی مناسب است که از سرویسهای شخص ثالث برای ارسال ایمیل استفاده میکنید.
-all: این بخش از رکورد SPF مشخص میکند که هر سرور دیگری که در رکورد SPF مشخص نشده است، نباید ایمیلی از طرف این دامنه ارسال کند. این بخش به سیاست "fail" یا "none" اشاره دارد که سرورهای دریافت کننده ایمیل با آن برخورد خواهند کرد.
نحو عملکرد رکورد SPF:
هنگامی که یک ایمیل به یک سرور دریافت کننده ارسال میشود، سرور دریافت کننده (مانند Gmail، Yahoo، و غیره) رکورد SPF دامنه فرستنده را از DNS درخواست میکند. سپس بررسی میکند که آیا آدرس IP سرور فرستنده ایمیل در رکورد SPF مجاز است یا خیر. اگر آدرس IP در لیست مجاز باشد، ایمیل به درستی پذیرفته میشود. در غیر این صورت، ایمیل ممکن است به عنوان اسپم شناخته شده یا بهطور کامل رد شود.
DKIM (DomainKeys Identified Mail):
DKIM یک روش برای امضای دیجیتالی ایمیلها است که به گیرندگان این امکان را میدهد تا تأیید کنند که ایمیل واقعاً از طرف دامنهی مورد نظر ارسال شده و در مسیر خود تغییر نکرده است. DKIM از طریق اضافه کردن یک امضای دیجیتال به هدر ایمیل عمل میکند. این امضا توسط کلید خصوصی دامنه فرستنده ایجاد و توسط گیرنده با استفاده از کلید عمومی ذخیرهشده در DNS بررسی میشود.
تعریف و ساختار رکورد DKIM:
رکورد DKIM به صورت یک رکورد از نوع TXT یا CNAME در DNS تنظیم میشود. این رکورد شامل کلید عمومی است که برای تأیید امضای دیجیتال استفاده میشود. امضای دیجیتال توسط سرور ارسال کننده ایمیل با استفاده از یک کلید خصوصی ایجاد میشود و در هدر ایمیل قرار میگیرد.
اجزای اصلی DKIM:
کلید خصوصی در سرور ایمیل فرستنده نگهداری میشود و برای ایجاد امضای دیجیتال استفاده میشود.
کلید عمومی به صورت رکورد DKIM در DNS دامنه ذخیره میشود تا گیرندگان بتوانند از آن برای تأیید امضا استفاده کنند.
هدر DKIM حاوی اطلاعاتی مانند نام دامنه، selector (شناسهای که به یافتن رکورد DKIM در DNS کمک میکند) و خود امضای دیجیتال است.
این رکورد به شکل زیر است:
selector._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."
selector (شناسه) یک نام دلخواه است که به تشخیص کلید عمومی صحیح کمک میکند.
_domainkey یک بخش استاندارد از نام رکورد است که مشخص میکند این رکورد مربوط به DKIM است.
v=DKIM1 نسخه پروتکل DKIM را مشخص میکند.
k=rsa نوع الگوریتم رمزنگاری (در اینجا RSA) را مشخص میکند.
p=... کلید عمومی را به صورت یک رشته کدگذاری شده در بردارد.
نحوعملکرد DKIM:
هنگامی که یک ایمیل با استفاده از DKIM ارسال میشود، سرور ایمیل فرستنده امضای دیجیتال را با استفاده از کلید خصوصی ایجاد میکند و آن را به هدر ایمیل اضافه میکند. سرور دریافت کننده ایمیل، این امضا را با استفاده از کلید عمومی موجود در رکورد DKIM دامنه فرستنده بررسی میکند.
اگر امضا معتبر باشد، سرور دریافتکننده مطمئن میشود که ایمیل واقعاً از دامنهای که ادعا میکند ارسال شده است و محتویات ایمیل در طول مسیر تغییر نکردهاند.
این کار به جلوگیری از جعل ایمیل و ارتقاء امنیت ارتباطات ایمیلی کمک میکند.
DMARC (Domain-based Message Authentication, Reporting & Conformance):
DMARC یک پروتکل است که روی SPF و DKIM ساخته شده و به صاحبان دامنه اجازه میدهد که تعیین کنند ایمیلهایی که از دامنهی آنها ارسال میشود، باید از چه قوانینی پیروی کنند. DMARC به شما این امکان را میدهد که گزارشهایی دریافت کنید که نشان میدهد آیا ایمیلهای شما به درستی احراز هویت شدهاند یا خیر، و به گیرندگان دستور میدهد که با ایمیلهای جعلی چه برخوردی کنند (reject، quarantine، یا none).
مراحل ایجاد رکورد DMARC:
انتخاب سیاست DMARC:
none: سیاست "هیچ" که فقط گزارشها را دریافت میکند و هیچ اقدامی روی ایمیلها انجام نمیشود.
quarantine: ایمیلهای نامعتبر به پوشه اسپم یا quarantine منتقل میشوند.
reject: ایمیلهای نامعتبر به طور کامل رد میشوند و به گیرنده تحویل داده نمیشوند.
تعریف رکورد DMARC:
رکورد DMARC باید در قالب زیر باشد:
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; sp=none; aspf=r"
اجزای رکورد DMARC:
v=DMARC1: نسخه پروتکل DMARC است.
p=: سیاست DMARC برای دامنه اصلی است (none, quarantine, reject).
rua=: آدرس ایمیلی که گزارشهای تجمیعی (Aggregate Reports) به آن ارسال میشود. این گزارشها شامل اطلاعاتی درباره ایمیلهایی است که از دامنه شما ارسال شدهاند.
ruf=: آدرس ایمیلی که گزارشهای شکست (Forensic Reports) به آن ارسال میشود. این گزارشها شامل اطلاعات دقیقتری درباره ایمیلهایی است که دچار مشکل شدهاند.
pct=: درصد ایمیلهایی که سیاست DMARC روی آنها اعمال میشود (از 1 تا 100).
sp=: سیاست فرعی (subdomain policy) که مشخص میکند چگونه با ایمیلهای نامعتبر از زیردامنهها برخورد شود (این گزینه اختیاری است و میتواند none, quarantine, یا reject باشد).
aspf=: این پارامتر تعیین میکند که SPF چقدر سختگیرانه باید اعمال شود (s برای سختگیرانه، r برای عادی).
اضافه کردن رکورد DMARC به DNS:
به پنل مدیریت DNS دامنه خود بروید و یک رکورد TXT جدید ایجاد کنید.
در بخش Name، عبارت _dmarc را وارد کنید.
در بخش Value یا Text، محتوای رکورد DMARC خود را وارد کنید.
رکورد را ذخیره کنید.
مثال :
فرض کنید دامنه شما example.com است و میخواهید یک رکورد DMARC ایجاد کنید که تمام ایمیلهای نامعتبر را رد کند و گزارشهای تجمیعی به [email protected] ارسال شوند.
رکورد به این شکل خواهد بود:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100"
این رکورد میگوید که همه ایمیلهای نامعتبر رد شوند و 100٪ ایمیلها بررسی شوند.
گزارشهای تجمیعی به آدرس [email protected] ارسال میشود.
پس از تنظیم این رکورد در DNS، سیاست DMARC شما شروع به کار خواهد کرد و ایمیلهای ارسالی از دامنه شما طبق سیاست تعیینشده مدیریت میشوند.