~2 دقیقه مطالعه • بروزرسانی ۷ بهمن ۱۴۰۴

1. چرا OpenDKIM و OpenDMARC حیاتی‌اند؟


در دنیای امروز، بدون DKIM و DMARC:

  • ایمیل‌ها به‌احتمال زیاد وارد Spam می‌شوند
  • Gmail / Outlook به دامنهٔ شما اعتماد نمی‌کنند
  • هر کسی می‌تواند از نام دامنهٔ شما ایمیل جعلی ارسال کند

این‌ها امنیت محتوایی نیستند؛ امنیت هویتی هستند.


2. جایگاه DKIM و DMARC در معماری iRedMail


Outgoing Mail
   ↓
Postfix
   ↓
OpenDKIM  ← امضای دیجیتال
   ↓
Internet
   ↓
Receiver Mail Server
   ↓
OpenDMARC ← بررسی سیاست

DKIM = امضا | DMARC = سیاست تصمیم‌گیری


3. OpenDKIM چیست؟


OpenDKIM ایمیل‌های خروجی را با کلید خصوصی دامنه امضا می‌کند. سرور گیرنده:

  • امضا را با Public Key موجود در DNS بررسی می‌کند
  • مطمئن می‌شود ایمیل دستکاری نشده
  • هویت فرستنده را تأیید می‌کند

4. اجزای OpenDKIM


  • opendkim (daemon)
  • Key Table
  • Signing Table
  • DNS TXT Record

مسیرهای مهم:

مسیرتوضیح
/etc/opendkim/تنظیمات اصلی
keys/کلیدهای DKIM
opendkim.confفایل تنظیمات
/var/log/maillogلاگ‌ها

5. تولید DKIM Key در iRedMail


amavisd-new genrsa /var/lib/dkim/example.com.pem 2048

نمایش Public Key:

amavisd-new showkey example.com

6. رکورد DNS برای DKIM


نمونه رکورد:

dkim._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."

برای تست، TTL را کوتاه بگذار.


7. تست DKIM


opendkim-testkey -d example.com -s dkim

یا ارسال ایمیل به Gmail و بررسی:

DKIM=PASS

8. OpenDMARC چیست؟


OpenDMARC سیاست‌های DMARC را اعمال می‌کند. DMARC مشخص می‌کند اگر SPF یا DKIM fail شد چه اتفاقی بیفتد:

  • Accept
  • Quarantine
  • Reject

9. نمونه رکورد DMARC


v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1

Policyها:

pمعنی
noneفقط گزارش
quarantineارسال به Spam
rejectرد کامل

10. پیشنهاد مرحله‌ای DMARC


  1. p=none (فقط مانیتور)
  2. p=quarantine
  3. p=reject

عجله نکن؛ اگر سریع به reject بروی، inbox rate می‌ریزد.


11. گزارش‌های DMARC


گزارش‌های XML روزانه از:

  • Gmail
  • Yahoo
  • Microsoft

ابزارهای خواندن:

  • dmarcian
  • Mail Analyzer

12. لاگ‌ها


grep dkim /var/log/maillog
grep dmarc /var/log/maillog

13. خطاهای رایج


❌ DKIM fail

  • DNS اشتباه
  • selector mismatch

❌ DMARC reject ناخواسته

  • SPF ناقص
  • DKIM ناقص

14. Best Practice حرفه‌ای


  • استفاده از DKIM با کلید 2048-bit
  • یک selector برای هر دامنه
  • DMARC مرحله‌ای
  • مانیتور گزارش‌ها

15. بدون DKIM / DMARC چه می‌شود؟


وضعیتنتیجه
بدون DKIMSpam
بدون DMARCSpoofing
تنظیم اشتباهReject ایمیل‌های سالم

نتیجه‌گیری


OpenDKIM هویت ایمیل را امضا می‌کند و OpenDMARC سیاست اعتماد را اعمال می‌کند. بدون این دو، ایمیل مدرن عملاً بی‌معناست. با تنظیم درست، دامنهٔ شما معتبر، امن و قابل‌اعتماد خواهد بود.


نوشته و پژوهش شده توسط دکتر شاهین صیامی