DKIM (بريل محدد بمفاتيح النطاق)

البريد الإلكتروني والأمان
طريقة مصادقة البريل الإلكتروني التي تضيف توقيع رقمي للبريل الإلكتروني الصادر، مما يسمح للمستقبلين بالتحقق من عدم تعديل الرسالة.
← العودة إلى القاموس

ما هو DKIM؟

DKIM (بريل محدد بمفاتيح النطاق) هو طريقة مصادقة البريل الإلكتروني التي تسمح لخادم الإرسال بالتوقيع رقمياً على الرسائل الصادرة. يمكن لخادم الاستقبال بعد ذلك التحقق من هذا التوقيع باستخدام مفتاح عام منشور في DNS، مما يؤكد عدم تعديل البريل الإلكتروني أثناء النقل وأنه نشأ فعلاً من النطاق المدّعى.

كيفية عمل DKIM

1. إنشاء مفتاح: ينشئ مالك النطاق زوج مفتاح عام/خاص

2. نشر DNS: يتم نشر المفتاح العام كسجل TXT

3. توقيع الرسالة: يتم توقيع رسائل البريل الإلكتروني الصادرة بالمفتاح الخاص

4. التحقق من التوقيع: يحصل خادم الاستقبال على المفتاح العام والتحقق من التوقيع

عملية التوقيع

عند إرسال بريل إلكتروني:

1. يحسب خادم البريل hash لرؤوس الرسالة والجسم

2. يتم تشفير Hash بالمفتاح الخاص (إنشاء التوقيع)

3. يتم إضافة التوقيع كرأس DKIM-Signature

4. يتم نقل البريل الإلكتروني

عملية التحقق

عند استقبال بريل إلكتروني:

1. يستخرج الخادم رأس DKIM-Signature

2. يجد المحدد والنطاق (s=محدد؛ d=domain.com)

3. يستعلم DNS لسجل TXT selector._domainkey.domain.com

4. يستخدم المفتاح العام لفك تشفير التوقيع

5. يحسب hash الخاص به للرسالة

6. يقارن: المطابقة = النجاح، عدم التطابق = الفشل

صيغة سجل DKIM

سجلات DKIM هي سجلات TXT في نطاق فرعي محدد:

selector._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

مكونات السجل

الوسمالوصفمثال
vالإصدارv=DKIM1
kنوع المفتاحk=rsa
pالمفتاح العام (base64)p=MIGfMA0GCSqG...
tالعلامات (اختياري)t=y (وضع الاختبار)
hخوارزميات Hashh=sha256

المحددات

المحددات تسمح بمفاتيح DKIM متعددة لكل نطاق:

google._domainkey.example.com       # Google Workspace

s1._domainkey.example.com # Sendgrid

mailchimp._domainkey.example.com # Mailchimp

توفر كل خدمة بريل إلكترونية محددها ومفتاحها الخاص.

رأس توقيع DKIM

يبدو توقيع DKIM بالشكل التالي:

DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=google;

c=relaxed/relaxed; q=dns/txt;

h=from:to:subject:date:message-id;

bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;

b=AuUoFEfDxTDkHlLXSZEpZj79...

الحقول الرئيسية:

إعداد DKIM

لـ Google Workspace

1. انتقل إلى وحدة التحكم → التطبيقات → Gmail → مصادقة البريل الإلكتروني

2. إنشاء مفتاح DKIM (2048-بت موصى به)

3. إضافة سجل TXT الذي توفره Google

4. تفعيل توقيع DKIM

للخدمات الخارجية

توفر معظم خدمات البريل الإلكتروني (SendGrid و Mailchimp و إلخ):

1. سجل CNAME للإضافة (للمفتاح المُدار من قبلهم)

2. أو سجل TXT بالمفتاح العام

مثال (SendGrid):

s1._domainkey.example.com    CNAME    s1.domainkey.sendgrid.net

التحقق من DKIM

أرسل بريداً اختباراً إلى خدمة تعرض الرؤوس (Gmail يعرض نتائج المصادقة). استخدام سطر الأوامر:
dig google._domainkey.example.com TXT
استخدام DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# يُبلغ عن حالة DKIM بناءً على المحددات الشائعة

أفضل ممارسات DKIM

استخدم مفاتيح 2048-بت

المفاتيح الأقدم 1024-بت عرضة متزايدة للضعف. معظم المزودين يستخدمون الآن افتراضياً 2048-بت.

تدوير المفاتيح بشكل دوري

دوّر مفاتيح DKIM سنوياً أو بعد حوادث الأمان. انشر مفتاح جديد مع محدد جديد قبل التبديل.

وقّع الرؤوس المهمة

تأكد من أن From و To و Subject و Date و Message-ID مضمنة في التوقيعات.

لا تعدّل الرسائل الموقعة

ستكسر خدمات القوائم البريدية أو الإعادة التي تعدّل المحتوى DKIM. استخدم ARC (Authenticated Received Chain) للبريل المُعاد توجيهه.

حدود DKIM

DKIM وحده لا يمنع الانتحال — يثبت فقط عدم تعديل الرسالة. يمكن لنطاق أن يكون له DKIM صحيح بينما يرسل المهاجمون بريداً مزيفاً بدون توقيع. يعالج DMARC هذا بتحديد ما يجب فعله مع الرسائل غير الموقعة.

استفد من هذه المعرفة

استخدم API الخاص بـ DomScan للتحقق من توفر النطاقات وصحتها والمزيد.