رفتن به محتوا
بازگشت به وبلاگ
امنیت

امنیت ایمیل: پیکربندی SPF، DKIM و DMARC

پیاده‌سازی SPF، DKIM و DMARC برای حفاظت دامنه از Spoofing ایمیل و حملات فیشینگ با پیکربندی DNS گام به گام.

آبان ۱۴۰۴
۱۰ دقیقه مطالعه

مقدمه

جعل ایمیل (Email Spoofing) که در آن مهاجمان آدرس فرستنده را جعل میکنند، یکی از رایجترین روشهای فیشینگ است. سه مکانیزم مبتنی بر DNS با هم کار میکنند تا این کار را جلوگیری کنند: SPF، DKIM و DMARC.

SPF (Sender Policy Framework)

SPF مشخص میکند کدام سرورها مجاز هستند از طرف دامنه شما ایمیل ارسال کنند.

TEXT
# رکورد SPF پایه
example.com. IN TXT "v=spf1 mx a:mail.example.com include:_spf.google.com ~all"

DKIM (DomainKeys Identified Mail)

DKIM یک امضای رمزنگاری به ایمیلهای خروجی اضافه میکند.

BASH
# نصب OpenDKIM
apt install opendkim opendkim-tools

# تولید جفت کلید
mkdir -p /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s mail

رکورد DNS برای DKIM

TEXT
mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=<کلید_عمومی>"

DMARC

DMARC SPF و DKIM را به هم متصل میکند و به سرورهای دریافتکننده میگوید در صورت شکست چه کاری انجام دهند.

TEXT
# شروع با حالت مانیتور
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

# بعد از بررسی گزارشها
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

چکلیست پیادهسازی

TEXT
[ ] انتشار رکورد SPF با ~all
[ ] نصب OpenDKIM و انتشار کلید عمومی
[ ] انتشار DMARC با p=none
[ ] بررسی گزارشهای دو هفتهای
[ ] تغییر به p=quarantine و سپس p=reject

خلاصه

  • SPF مشخص میکند کدام سرورها مجاز به ارسال ایمیل هستند
  • DKIM ایمیلها را امضای رمزنگاری میکند
  • DMARC گزارش میدهد و اجرا میکند
  • همیشه با DMARC p=none شروع کنید و قبل از اجرا مانیتور کنید