ما هو DMARC؟
DMARC (مصادقة الرسائل المستندة إلى النطاق والإبلاغ والامتثال) هو بروتوكول مصادقة البريل الإلكتروني الذي يبني على SPF و DKIM. يسمح لمالكي النطاقات بنشر سياسة تحدد كيفية التعامل مع خوادم الاستقبال مع الرسائل التي تفشل في المصادقة، ويوفر آليات إبلاغ لمراقبة مصادقة البريل الإلكتروني.
لماذا DMARC ضروري
SPF و DKIM وحدهما لهما فجوة حرجة: لا يخبران المستقبلين بما يجب فعله مع الرسائل الفاشلة. يمكن للمهاجم إرسال بريل إلكتروني مزيف بدون SPF/DKIM، وليس لدى المستقبلين توجيه.
يحل DMARC هذا بـ:
- تحديد السياسة: رفض أو الحجر أو السماح بالرسائل الفاشلة
- تتطلب المحاذاة: يجب أن يطابق رأس From نطاق SPF/DKIM
- تمكين الإبلاغ: تظهر التقارير الإجمالية والمحاكمة نتائج المصادقة
كيفية عمل DMARC
1. ينشر المرسل سياسة DMARC في DNS (سجل TXT في _dmarc.domain.com)
2. يتم إرسال بريل إلكتروني مع From: [email protected]
3. يتحقق المستقبل من SPF و DKIM
4. يتحقق المستقبل من المحاذاة: هل يطابق نطاق المصادقة رأس From؟
5. تطبيق السياسة: بناءً على سجل DMARC (لا شيء أو حجر أو رفض)
6. إرسال التقارير: التقارير الإجمالية إلى العناوين المحددة
محاذاة DMARC
يتطلب DMARC "محاذاة" — يجب أن يطابق النطاق في رأس From:
- محاذاة SPF: نطاق المرسل (MAIL FROM)
- محاذاة DKIM: النطاق d= في توقيع DKIM
بدون محاذاة، يمر SPF/DKIM لكن DMARC يفشل.
صيغة سجل DMARC
سجلات DMARC هي سجلات TXT في _dmarc.yourdomain.com:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
وسوم DMARC
| الوسم | مطلوب | الوصف | مثال |
|---|---|---|---|
| v | نعم | الإصدار | v=DMARC1 |
| p | نعم | السياسة | p=none/quarantine/reject |
| rua | لا | رابط تقرير إجمالي | rua=mailto:[email protected] |
| ruf | لا | رابط تقرير أدلة | ruf=mailto:[email protected] |
| pct | لا | نسبة السياسة | pct=100 |
| sp | لا | سياسة النطاق الفرعي | sp=reject |
| adkim | لا | وضع محاذاة DKIM | adkim=s (صارم) أو adkim=r (متساهل) |
| aspf | لا | وضع محاذاة SPF | aspf=s أو aspf=r |
سياسات DMARC
p=none: مراقبة فقط — لا تتخذ إجراء على الرسائل الفاشلةv=DMARC1; p=none; rua=mailto:[email protected]
p=quarantine: أرسل الرسائل الفاشلة إلى البريد المزعج/النفايات
v=DMARC1; p=quarantine; rua=mailto:[email protected]
p=reject: رفض الرسائل الفاشلة بالكامل
v=DMARC1; p=reject; rua=mailto:[email protected]
مسار تطبيق DMARC
المرحلة 1: المراقبة (p=none)
ابدأ بالمراقبة لفهم نظام البريل الإلكتروني الخاص بك:
v=DMARC1; p=none; rua=mailto:[email protected]
حلل التقارير لمدة 2-4 أسابيع لتحديد:
- خدمات الإرسال الشرعية التي تفتقد SPF/DKIM
- المرسلون غير المصرح لهم (الانتحال)
- مشاكل المحاذاة
المرحلة 2: الحجر (p=quarantine)
مرة واحدة تم مصادقة المصادر الشرعية:
v=DMARC1; p=quarantine; pct=10; rua=mailto:[email protected]
استخدم pct=10 لحجر 10% فقط في البداية، مع الزيادة التدريجية.
المرحلة 3: الرفض (p=reject)
الحماية الكاملة:
v=DMARC1; p=reject; rua=mailto:[email protected]
تقارير DMARC
التقارير الإجمالية (rua)
تقارير XML يومية تظهر نتائج المصادقة عبر جميع بريدك الإلكتروني:
- حجم البريل الإلكتروني
- معدلات النجاح/الفشل لـ SPF و DKIM و DMARC
- عناوين IP المرسل
- منظمات المستقبل
تقارير الأدلة (ruf)
تقارير فشل فردية (ليس جميع المستقبلين يرسلون هذه بسبب الخصوصية):
- رؤوس الرسالة الكاملة
- تفاصيل فشل المصادقة
معالجة التقرير
تقارير DMARC الخام عبارة عن XML وصعبة القراءة. استخدم خدمات مثل:
- DMARC Analyzer
- Dmarcian
- Valimail
- Postmark DMARC
التحقق من DMARC
dig _dmarc.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"
# يرجع حالة hasDMARC
مشاكل DMARC الشائعة
لم يتم استقبال التقارير: تأكد من أن عنوان rua يمكنه استقبال رسائل كبيرة؛ قد تقوم بعض المزودين بالتصفية. فشل البريل الإلكتروني الشرعي: تحقق من تكوين SPF/DKIM لجميع خدمات الإرسال؛ تحقق من المحاذاة. فشل خدمات الجهات الخارجية: تتطلب العديد من الخدمات إعداد DKIM مخصص لمحاذاة DMARC.DMARC هو حجر نهايةً مصادقة البريل الإلكتروني — طبقه بعد عمل SPF و DKIM بشكل صحيح.