DKIM چیست؟ آموزش کامل تنظیم و ساخت رکورد DKIM
با افزایش حملات فیشینگ و جعل ایمیل، احراز هویت ایمیل به یکی از ارکان اصلی امنیت ارتباطات دیجیتال تبدیل شده است. DKIM بهعنوان یکی از استانداردهای کلیدی امنیت ایمیل، به سرورهای گیرنده کمک میکند تا اصالت فرستنده و عدم تغییر محتوای پیام را بررسی کنند و نقش مهمی در افزایش اعتماد، تحویل صحیح ایمیلها و کاهش سوءاستفاده از دامنهها ایفا میکند.
DKIM چیست؟
DKIM (DomainKeys Identified Mail) یک روش احراز هویت ایمیل است که با استفاده از امضای دیجیتال، صحت دامنه فرستنده و یکپارچگی محتوای ایمیل را تضمین میکند. در این روش، سرور ارسالکننده ایمیل را با یک کلید خصوصی امضا میکند و اطلاعات مربوط به این امضا از طریق DNS دامنه قابل بررسی است.
هدف اصلی DKIM جلوگیری از جعل ایمیل و دستکاری پیام در مسیر ارسال است. این مکانیزم بهویژه در برابر حملاتی مانند Email Spoofing و برخی روشهای فیشینگ مؤثر عمل میکند و باعث میشود سرورهای گیرنده بتوانند تشخیص دهند که آیا ایمیل واقعاً از طرف دامنه اعلامشده ارسال شده و در طول مسیر تغییری نکرده است یا خیر.

DKIM چگونه کار میکند؟
1.ایجاد کلید خصوصی و کلید عمومی
در ابتدا برای دامنه ارسالکننده یک جفت کلید رمزنگاری شامل کلید خصوصی و کلید عمومی ایجاد میشود. کلید خصوصی بهصورت امن روی سرور ارسال ایمیل نگهداری میشود و هرگز منتشر نمیگردد، در حالی که کلید عمومی برای اعتبارسنجی امضا استفاده خواهد شد.
2.امضای ایمیل با کلید خصوصی
هنگام ارسال ایمیل، سرور فرستنده با استفاده از کلید خصوصی، بخشهایی از ایمیل مانند هدرها و بدنه پیام را امضا میکند. این امضا بهعنوان یک هدر جدید با نام DKIM-Signature به ایمیل اضافه میشود.
3.انتشار کلید عمومی در DNS
کلید عمومی DKIM بهصورت یک رکورد TXT در DNS دامنه و تحت یک Selector مشخص منتشر میشود. این کار به سرورهای گیرنده اجازه میدهد هنگام دریافت ایمیل، کلید مورد نیاز برای بررسی امضا را از DNS دامنه فرستنده دریافت کنند.
4.دریافت ایمیل توسط سرور مقصد
زمانی که ایمیل به سرور گیرنده میرسد، سرور مقصد هدر DKIM-Signature را بررسی کرده و دامنه و Selector مشخصشده در آن را استخراج میکند تا بتواند کلید عمومی متناظر را پیدا کند.
5.اعتبارسنجی امضای DKIM
در نهایت سرور گیرنده با استفاده از کلید عمومی منتشرشده در DNS، امضای دیجیتال ایمیل را بررسی میکند. اگر امضا معتبر باشد، DKIM پاس میشود؛ در غیر این صورت، ایمیل بهعنوان پیام نامعتبر یا مشکوک علامتگذاری خواهد شد.

رکورد DKIM چیست؟
رکورد DKIM یک رکورد TXT در DNS دامنه است که شامل کلید عمومی مورد استفاده برای اعتبارسنجی امضای DKIM میباشد. این رکورد به سرورهای گیرنده امکان میدهد امضای دیجیتال ایمیل را بررسی کرده و از اصالت دامنه فرستنده و عدم تغییر محتوای پیام اطمینان حاصل کنند. بدون وجود رکورد DKIM معتبر، فرآیند احراز هویت DKIM عملاً امکانپذیر نخواهد بود.
ساختار رکورد DKIM
رکورد DKIM بهصورت یک رکورد TXT در DNS دامنه تعریف میشود و شامل اطلاعاتی است که به سرورهای گیرنده اجازه میدهد امضای دیجیتال ایمیل را بررسی کنند. این رکورد همیشه روی یک Selector مشخص قرار میگیرد و ساختار آن به شکل مجموعهای از تگها (Tag=Value) است که با ; از هم جدا میشوند.
ساختار کلی رکورد DKIM به این صورت است:
selector._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq…"
در این ساختار هر بخش نقش مشخصی در فرآیند احراز هویت ایمیل دارد که در ادامه بهصورت کامل بررسی میشود.
Selector در DKIM چیست؟
Selector بخشی از نام رکورد DKIM است که به سرور گیرنده کمک میکند کلید عمومی صحیح را از DNS پیدا کند. استفاده از Selector این امکان را میدهد که چندین کلید DKIM بهطور همزمان برای یک دامنه فعال باشند؛ قابلیتی که برای چرخش کلید (Key Rotation) یا استفاده از چند سرویس ارسال ایمیل بسیار مهم است.
در این مثال mail نقش Selector را دارد:
mail._domainkey.example.com
تگهای اصلی رکورد DKIM
رکورد DKIM شامل چند تگ کلیدی است که مهمترین آنها عبارتاند از:
نسخه DKIM (v)
این تگ نسخه پروتکل DKIM را مشخص میکند و مقدار آن همیشه باید DKIM1 باشد. وجود این تگ برای شناسایی رکورد الزامی است.
v=DKIM1
نوع کلید رمزنگاری (k)
تگ k الگوریتم رمزنگاری مورد استفاده را مشخص میکند. در حال حاضر، رایجترین و استانداردترین مقدار آن rsa است.
k=rsa
کلید عمومی (p)
تگ p شامل کلید عمومی DKIM است که برای اعتبارسنجی امضای دیجیتال ایمیل استفاده میشود. این مقدار معمولاً یک رشته طولانی رمزنگاریشده است که بدون فاصله و خط جدید در DNS قرار میگیرد.
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...
اگر مقدار p خالی باشد، به معنی غیرفعالکردن آن Selector است.
نمونه کامل یک رکورد DKIM معتبر
mail._domainkey.example.com TXT "v=DKIM1; k=rsa;
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr…"
این رکورد به سرورهای گیرنده اعلام میکند که ایمیلهای امضاشده با Selector mail باید با این کلید عمومی بررسی شوند.
الگوریتمهای رمزنگاری در DKIM
در گذشته الگوریتمهایی مانند rsa-sha1 استفاده میشدند، اما امروزه استاندارد و توصیهشدهترین الگوریتم، RSA با SHA-256 است. استفاده از کلیدهای حداقل 2048 بیتی نیز برای امنیت بیشتر پیشنهاد میشود.
خطاهای رایج در تنظیم DKIM
- عدم تطابق Selector در هدر DKIM و DNS
- کپیبرداری نادرست یا ناقص کلید عمومی (تگ p)
- وجود فاصله، خط جدید یا کاراکتر اضافی در مقدار کلید عمومی
- تنظیم نکردن Selector روی DNS زیردامنه صحیح (_domainkey)
- فعال نکردن امضای DKIM در Mail Server یا نرمافزار ارسال ایمیل
- تعریف نکردن رکورد DKIM برای همه سرورهای ارسال ایمیل دامنه
چند نمونه کاربردی رکورد DKIM
در ادامه چند سناریوی رایج استفاده از DKIM بههمراه نمونه رکورد DNS آورده شده است که میتواند بهعنوان الگوی عملی مورد استفاده قرار گیرد.
DKIM برای ارسال ایمیل از یک سرور اختصاصی
این حالت برای دامنههایی مناسب است که ایمیلها را از یک سرور اختصاصی با IP ثابت ارسال میکنند. Selector معمولاً نامی مانند mail یا default دارد و کلید DKIM روی همان سرور تولید میشود.
mail._domainkey.example.com TXT "v=DKIM1; k=rsa;
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr…"
DKIM برای Google Workspace (Gmail)
در صورتی که از Google Workspace برای ارسال ایمیل با دامنه اختصاصی استفاده میکنید، گوگل یک Selector مشخص (مانند google) و کلید عمومی مرتبط را در اختیار شما قرار میدهد که باید آن را در DNS دامنه
google._domainkey.example.com TXT "v=DKIM1; k=rsa;
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"
DKIM برای سرویسهای ایمیل مارکتینگ ثالث
سرویسهایی مانند Mailchimp، SendGrid یا Amazon SES برای جلوگیری از اسپم شدن ایمیلها، نیاز به ثبت رکورد DKIM اختصاصی دارند. این سرویسها معمولاً Selector مخصوص خود را ارائه میدهند.
k1._domainkey.example.com TXT "v=DKIM1; k=rsa;
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"
تفاوت DKIM با SPF و DMARC
DKIM، SPF و DMARC هر سه برای افزایش امنیت ایمیل و جلوگیری از جعل دامنه طراحی شدهاند، اما هرکدام وظیفه متفاوتی دارند. SPF مشخص میکند که چه سرورهایی مجاز به ارسال ایمیل از طرف یک دامنه هستند و تمرکز آن بر آدرس IP فرستنده است. در مقابل DKIM با استفاده از امضای دیجیتال بررسی میکند که ایمیل واقعاً توسط دامنه اعلامشده امضا شده و محتوای آن در مسیر ارسال تغییر نکرده باشد.
DMARC نقش یک لایه تصمیمگیرنده و مدیریتی را ایفا میکند. این پروتکل نتایج بررسی SPF و DKIM را تحلیل کرده و بر اساس سیاستی که صاحب دامنه تعیین کرده است، تصمیم میگیرد ایمیل نامعتبر پذیرفته شود، به پوشه اسپم منتقل گردد یا بهطور کامل رد شود. علاوه بر این، DMARC امکان دریافت گزارشهای دقیق از وضعیت احراز هویت ایمیلها را فراهم میکند و به مدیران دامنه کمک میکند دید کاملی نسبت به سوءاستفادههای احتمالی داشته باشند.
DKIM |
SPF |
DMARC |
|
|---|---|---|---|
|
هدف اصلی |
احراز هویت محتوا و اصالت دامنه |
احراز هویت سرور فرستنده |
تعیین سیاست نهایی و گزارشدهی |
|
روش کار |
امضای دیجیتال ایمیل |
بررسی IPهای مجاز در DNS |
تحلیل نتایج DKIM و SPF |
|
بررسی محتوای ایمیل |
✅ |
❌ |
❌ |
|
بررسی IP فرستنده |
❌ |
✅ |
❌ |
|
تعیین اقدام در صورت شکست |
❌ |
❌ |
✅ |
|
گزارشدهی |
❌ |
❌ |
✅ |
|
وابستگی به پروتکل دیگر |
مستقل |
مستقل |
وابسته به DKIM و SPF |
جمعبندی…
DKIM یکی از مهمترین استانداردهای احراز هویت ایمیل است که با استفاده از امضای دیجیتال، اصالت دامنه فرستنده و عدم تغییر محتوای ایمیل را تضمین میکند. تنظیم صحیح رکورد DKIM در کنار SPF و DMARC نقش کلیدی در جلوگیری از جعل ایمیل، کاهش اسپم، افزایش نرخ تحویل ایمیلها و حفظ اعتبار دامنه دارد. با پیادهسازی اصولی DKIM و مدیریت درست کلیدها، میتوان امنیت و اعتماد در ارتباطات ایمیلی را بهطور قابلتوجهی افزایش داد.
سوالات متداول
DKIM یک روش احراز هویت ایمیل است که با امضای دیجیتال، اصالت دامنه فرستنده و سلامت محتوای ایمیل را بررسی میکند.
بله، اما ایمیلها بیشتر در معرض اسپم شدن یا رد شدن توسط سرورهای گیرنده قرار میگیرند.
SPF مجاز بودن سرور ارسالکننده را بررسی میکند، در حالی که DKIM صحت امضای دیجیتال و محتوای ایمیل را اعتبارسنجی میکند.
Selector مشخص میکند کدام کلید عمومی در DNS باید برای بررسی امضای DKIM استفاده شود و امکان استفاده از چند کلید را فراهم میکند.
برای امنیت بیشتر، توصیه میشود کلید DKIM بهصورت دورهای (مثلاً هر 6 تا 12 ماه) چرخش داده شود.
بله، هر دامنه میتواند چند Selector فعال داشته باشد، مخصوصاً هنگام استفاده از چند سرویس ارسال ایمیل.
بهتنهایی ممکن است ایمیل رد نشود، اما در صورت وجود DMARC سختگیرانه، ایمیل میتواند قرنطینه یا رد شود.
میتوان با ارسال ایمیل آزمایشی و بررسی هدر پیام یا استفاده از ابزارهای تست DKIM وضعیت آن را بررسی کرد.
موارد اخیر
-
SPF، DKIM و DMARC چیستند؟ راهنمای کامل احراز هویت ایمیل -
DKIM چیست؟ آموزش کامل تنظیم و ساخت رکورد DKIM -
DMARC چیست و چگونه از جعل ایمیل و فیشینگ جلوگیری میکند؟ -
SPF چیست و چه کاربردی در امنیت ایمیل دارد؟ رکورد Sender Policy Framework چه ویژگیهایی دارد؟ -
حمله جعل وب سایت چیست و چگونه یک وب سایت جعلی را تشخیص دهیم؟ + مقایسه با فیشینگ -
CSR در گواهی دیجیتال چیست؟ آموزش جامع Certificate Signing Request و نحوه ساخت آن در سیستمهای مختلف -
گواهی دیجیتال (Certificate) چیست و چه تفاوتی با امضای دیجیتال دارد؟ -
حمله Side Channel چیست؟ بررسی کامل حملات ساید چنل در امنیت سایبری -
آسیب پذیری XXE چیست و چگونه باعث نفوذ به سرور میشود؟ بررسی XML External Entity به زبان ساده -
NFC چیست و چگونه کار میکند؟ + کاربرد Near Field Communication در امنیت شبکه
برترین ها
-
SPF، DKIM و DMARC چیستند؟ راهنمای کامل احراز هویت ایمیل -
DKIM چیست؟ آموزش کامل تنظیم و ساخت رکورد DKIM -
DMARC چیست و چگونه از جعل ایمیل و فیشینگ جلوگیری میکند؟ -
SPF چیست و چه کاربردی در امنیت ایمیل دارد؟ رکورد Sender Policy Framework چه ویژگیهایی دارد؟ -
حمله جعل وب سایت چیست و چگونه یک وب سایت جعلی را تشخیص دهیم؟ + مقایسه با فیشینگ
اشتراک گذاری این مطلب
دیدگاهتان را بنویسید
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *