بررسی رکورد DKIM و تنظیم آن در پنل کاربری ابر آروان
DKIM یا DomainKeys Identified Mail استانداردی برای احراز هویت ایمیل است که از سوی شرکتهایی همانند گوگل، یاهو و... پشتیبانی میشود. هدف این استاندارد، احراز هویت ایمیلها با کمک (Public Key Infrastructure (PKI یا زیرساخت کلید عمومی است. DKIM این احراز هویت را با اضافه کردن امضایی دیجیتال به هدر ایمیل ممکن میسازد.
تفاوت DKIM و SPF
در مکانیزم Sender Policy Framework (SPF)، فهرستی از hostها/آدرسهای IP مُجاز ارسال ایمیل از سمت یک دامنهی خاص در رکورد SPF، مشخص میشوند (اعتبارسنجی). حال آنکه در مکانیزم DKIM، یک امضای دیجیتال رمزنگاری شده به هدر ایمیل اضافه میشود و با کمک آن میتوان از هویت شخص ارسال کنندهی ایمیل مطمین شد (احراز هویت).
گاهی، برخی سرورها در مسیر ارسال ایمیل از مبدا به مقصد، مانع از ارسال بخشی از ایمیل میشوند که این امر میتواند منجر به شکست مکانیزم SPF شود. اما در DKIM، چون امضای دیجیتال به هدر ایمیل اضافه میشود، این مکانیزم در چنین سناریوهایی نیز با موفقیت کار خود را انجام میدهد. دقت داشته باشید که در چنین موقعیتی اگر برای دامنه تنها رکورد SPF تعریف شده باشد، سرور مقصد هنگام دریافت ایمیل، آن را spam در نظر میگیرد.
عملکرد DKIM
ایمیل سروری که DKIM روی آن فعال شده است (در اصطلاح signing server) جفت کلید خصوصی (private key) و عمومی (public key) را تولید و کلید عمومی را با استفاده از رکورد DKIM منتشر میکند.
این سرور هنگام ارسال ایمیل، نخست فیلدهای هدر و قسمتی از بدنه را انتخاب و مقدار هش آنها را محاسبه میکند. سپس این مقدار هش بهدست آمده را با استفاده از کلید خصوصی رمزنگاری میکند (عمل signing). مقدار بهدست آمده پس از رمزنگاری در اصطلاح امضا (یا signature) خطاب میشود. درنهایت این امضای بهدست آمده را در قالب DKIM-Signature header به ایمیل اضافه و آن را ارسال میکند.
زمانیکه این ایمیل امضا شده بهدست سرور دریافتکننده (در اصطلاح verification server) میرسد، این سرور نخست هدر ایمیل را برای اطمینان از وجود فیلد DKIM-signature در آن بررسی میکند. با وجود این فیلد، به سراغ DNS server میرود و از کلید عمومی منتشر شده بهوسیلهی رکوردDKIM ، برای رمزگشایی ایمیل استفاده میکند. چنانچه این رمزگشایی با موفقیت انجام شود، ایمیل را قبول وگرنه آن را spam در نظر میگیرد.
قالب رکورد DKIM
DKIM record رشتهای متنی بهشکل زیر است:
k=rsa ;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVgd0NyrRE261IIiPqi+0H1baNyKcdj8Kea/VlSP4exzvKx8pJ01EWMwd094FV/6OCBIf7KGKgowMnWl3tW3Z5G++uZHkdgF+6xg7b9PynmX/NTo2kx92hlGgegwyulF5B7d2FM0doaCeoO4rD05jZzwi3cXx/156Gg9Xwd/Z/QIDAQAB
رشته متنی بالا میتواند شامل چند برچسب (tag) باشد که عبارتاند از:
- v: مشخصکنندهی نسخهی پروتکل DKIM. تا به امروز تنها نسخه برای این پروتکل DKIMv1 است.
- h: مشخصکنندهی فهرستی از مکانیزمهایی که میتوانند برای تولید هش استفاده شوند.
- q: مشخصکنندهی روش query پیشفرض
- l: مشخصکنندهی محدودیتهای طول بدنه
- k: مشخصکنندهی فهرستی از مکانیزمهایی که میتوانند برای رمزگشایی DKIM signature استفاده شوند.
- p: مشخصکنندهی کلید عمومی
تنظیم رکورد DKIM در پنل کاربری ابر آروان
بهمنظور تنظیم رکورد DKIM برای دامنهی خود، به پنل کاربری ابر آروان، بخش DNS ابری، سپس مدیریت رکوردها بروید و در قسمت تنظیمات DNS، نوع رکورد را TXT و عنوان را @ (این عبارت به دامنهی شما اشاره میکند) قرار دهید.
سپس روی مقدار کلیک کنید و در پنجرهی باز شده مقدار رکورد DKIM که از ارایهدهندهی خدمت ایمیل خود همانند mailgun یا G suite دریافت کردهاید را وارد و روی گزینهی ذخیره کلیک کنید.
درنهایت مدتزمان اعتبار این رکورد را مقدار مورد نظر خود قرار دهید و روی گزینهی افزودن کلیک کنید تا این رکورد جدید اضافه شود.
نمونهی کاربردی: ارسال ایمیل از mailgun.org
بهمحض ثبت دامنه در ایمیل سرویس mailgun، این سرویس مقدار رکورد DKIM را در اختیار شما قرار میدهد.
تنها کافی است این عبارت را در بخش مقدار، در تنظیمات DNS قرار دهید. همچنین برای کسب اطلاعات بیشتر میتوانید راهنمای mailgun را بخوانید.