فنی · پاسخ مستند
احراز هویت ایمیل چیست؟ توضیح SPF، DKIM و DMARC
احراز هویت ایمیل مجموعهای از پروتکلهای مبتنی بر DNS است که برای تأیید هویت فرستنده پیام ایمیل به کار میرود. این پروتکلها با امکاندادن به سرورهای ایمیل گیرنده برای بررسی اینکه سرور فرستنده مجاز است از طرف دامنه ذکرشده در هدر From ایمیل ارسال کند، جلوی جعل دامنه و فیشینگ را میگیرند.
چارچوب سیاست فرستنده (SPF)
SPF یک رکورد DNS است که همه نشانیهای IP و دامنههای مجاز به ارسال ایمیل برای یک دامنه مشخص را فهرست میکند. وقتی سروری پیامی دریافت میکند، رکورد SPF دامنه موجود در نشانی Return-Path را بررسی میکند. اگر IP سرور فرستنده در رکورد SPF نباشد، پیام بسته به qualifier رکورد ممکن است اسپم علامت بخورد یا رد شود.
ایمیل شناساییشده با DomainKeys (DKIM)
DKIM یک امضای رمزنگاریشده برای ایمیلها فراهم میکند. فرستنده با کلید خصوصی هدرها و بدنه پیام را امضا میکند و گیرنده با کلید عمومی منتشرشده در رکوردهای DNS دامنه، امضا را تأیید میکند. این کار تضمین میکند محتوای ایمیل در طول انتقال دستکاری نشده و تعلق پیام به دامنه را تأیید میکند.
احراز هویت، گزارشدهی و انطباق پیام مبتنی بر دامنه (DMARC)
DMARC با ارائه دستورالعمل به سرور گیرنده درباره نحوه برخورد با پیامهایی که در احراز هویت شکست میخورند، SPF و DKIM را به هم پیوند میدهد. DMARC به همراستایی میان نشانی قابلمشاهده From و دامنههای SPF یا DKIM نیاز دارد. سیاستهای DMARC را میتوان روی none (پایش)، quarantine (ارسال به پوشه اسپم) یا reject (مسدودسازی کامل) تنظیم کرد.
پیادهسازی و بررسی
پیادهسازی احراز هویت نیازمند افزودن رکوردهای TXT در ارائهدهنده DNS شماست. توسعهدهندگان باید مطمئن شوند همه سرویسهای ارسال شخص ثالث در رکورد SPF گنجانده شدهاند و کلیدهای DKIM بهطور دورهای عوض میشوند. میتوانید با ابزارهای رایگان SendHQ (https://sendhq.cc/tools) بررسی کنید که رکوردهای DNS شما درست قالببندی شده و فعالاند.
پرسشهایی که تیمها میپرسند
آیا SPF جایگزین DKIM است؟
خیر. SPF نشانی IP سرور فرستنده را تأیید میکند، در حالی که DKIM محتوا و منشأ پیام را از طریق رمزنگاری تأیید میکند. برای احراز هویت کامل به هر دو نیاز است.
اگر DMARC پیکربندی نشده باشد چه میشود؟
بدون DMARC، سرورهای گیرنده ممکن است همچنان از SPF و DKIM استفاده کنند، اما هیچ دستورالعمل صریحی درباره رد کردن یا قرنطینه کردن پیامهای ناموفق ندارند.
آیا یک دامنه میتواند چند رکورد SPF داشته باشد؟
خیر. هر دامنه باید فقط یک رکورد SPF داشته باشد. فرستندگان مجاز متعدد باید با استفاده از mechanismهای include در یک رکورد TXT واحد ترکیب شوند.
منابع اصلی
- RFC 7208: چارچوب سیاست فرستنده (SPF) — RFC Editor
- RFC 6376: امضاهای DomainKeys Identified Mail (DKIM) — RFC Editor
- RFC 7489: احراز هویت، گزارشدهی و انطباق پیام مبتنی بر دامنه (DMARC) — RFC Editor