تُنفَّذ هذه الأداة على الخادم
كيف يعمل
لا يتحقق بروتوكول البريد من المُرسِل: يمكن لأي خادم وضع نطاقك في حقل المرسل. ثلاثة سجلات DNS تغلق هذا الباب. يحدّد SPF الخوادم المسموح لها بالإرسال باسم النطاق. ويوقّع DKIM كل رسالة بمفتاح خاص يُنشر نصفه العام في DNS. ويجمع DMARC بينهما: يشترط أن ينجح أحدهما على الأقل ويطابق نطاق المرسل الظاهر، ويخبر المستقبِل بما يفعله مع الرسائل الفاشلة، ويطلب تقارير عن كل ما أُرسل باسمك.
منذ فبراير 2024 تشترط Gmail وYahoo وجود SPF وDKIM وDMARC لدى كل من يرسل أكثر من 5000 رسالة يوميًا إلى مستخدميها، وغياب أي منها يعني رسائل مرفوضة أو مجلد الرسائل غير المرغوب فيها. لذلك يجدر فحص الثلاثة معًا: فسجل SPF مثالي لا يفيد كثيرًا دون DMARC، وسجل DMARC على reject مع DKIM منشور بشكل خاطئ يمنع بريدك أنت.
يُجرى الفحص من خادمنا عبر استعلامات DNS عامة، تمامًا كما يفعل أي خادم بريد. ويُقيَّم SPF بالكامل بتتبّع كل include وredirect لعدّ استعلامات DNS، لأن تجاوز حد العشرة يُبطل السجل كله. كما تُستعلم سجلات MX والسجلات الاختيارية MTA-STS وTLS-RPT وBIMI.
أمثلة
github.comSPF · 10 / 10ثمانية include لمزوّدين (Microsoft وGoogle وZendesk وSalesforce وMailchimp وSendGrid…) مع ما تُضمّنه بدورها تصل بالتقييم تمامًا إلى حد 10 استعلامات DNS. مزوّد واحد إضافي وسيعطي SPF بأكمله خطأً دائمًا.example.comMX 0 . · v=spf1 -all · v=DMARC1;p=reject;sp=reject;adkim=s;aspf=sالإعداد الصحيح لنطاق لا يرسل البريد ولا يستقبله: MX فارغ، وSPF لا يصرّح لأحد، وDMARC على reject. ويحمي النطاقات المركونة التي تُعد هدفًا شائعًا للانتحال.v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.comquarantine · 25 %نشر تدريجي: رسالة واحدة فقط من كل أربع رسائل فاشلة تذهب إلى الرسائل غير المرغوب فيها، وتصل التقارير إلى صندوق البريد المحدد في rua لاكتشاف المرسلين الشرعيين غير المُصادَق عليهم بعد.حالات الاستخدام
- تشخيص سبب وصول رسائل النطاق إلى الرسائل غير المرغوب فيها أو رفضها من Gmail أو Outlook أو Yahoo.
- التأكد من أن SPF لا يتجاوز 10 استعلامات DNS قبل إضافة مزوّد إرسال جديد مثل نظام CRM أو منصة نشرات بريدية.
- التحقق من نشر مفتاح DKIM لمزوّد بشكل صحيح بعد إعداده.
- التخطيط لنقل DMARC من none إلى quarantine ثم reject دون قطع البريد الشرعي.
- تدقيق نطاقات عميل أو شركة مستحوَذ عليها، بما فيها النطاقات المركونة التي لا ينبغي أن ترسل بريدًا.
- مراجعة إعدادات مرسل مشبوه أثناء تحليل محاولة تصيّد.
الأسئلة الشائعة
لماذا يقول إنه لم يعثر على DKIM مع أن نطاقي يوقّع رسائله؟
لأن DKIM لا يسمح بسرد مفاتيح النطاق: يوجد كل مفتاح في <selector>._domainkey.<domain> ويجب معرفة المحدد للاستعلام عنه. تجرّب الأداة المحددات الأكثر استخدامًا، لكن كثيرًا من المزوّدين يستخدمون أسماء خاصة أو مؤرّخة. افتح رسالة مُرسلة من النطاق، وابحث عن ترويسة DKIM-Signature وانسخ قيمة s=؛ وبهذا المحدد يكون الفحص دقيقًا.
ماذا يحدث إذا تجاوز SPF عشرة استعلامات DNS؟
يُلزم RFC 7208 المستقبِل بإعادة خطأ دائم (permerror)، ويُعدّ ذلك في DMARC فشلًا لـ SPF. تستهلك الاستعلاماتِ آلياتُ include وa وmx وptr وexists والمُعدِّل redirect، بما فيها الموجودة داخل كل include؛ أما ip4 وip6 فلا تستهلك شيئًا. لخفض العدد، أزِل المزوّدين الذين لم تعد تستخدمهم، أو استبدل include بنطاقات ip4، أو أرسل من نطاقات فرعية لها SPF خاص بها.
~all أم -all؟
مع تفعيل DMARC يكون الفرق صغيرًا: يطبّق المستقبِل سياسة DMARC لا مُحدِّد SPF. ويُعد ~all الخيار المعتاد لأن بعض المستقبِلين يرفضون فورًا مع -all قبل تقييم DKIM، مما قد يُضيع بريدًا مُعاد توجيهه كان DKIM سينقذه. ومن دون DMARC يكون -all الطريقة الوحيدة لطلب رفض غير المصرّح به.
كيف أنقل DMARC من none إلى reject دون فقدان البريد؟
ابدأ بـ p=none مع عنوان في rua واقرأ التقارير المجمّعة لبضعة أسابيع: فهي تُظهر كل خادم يرسل باسم نطاقك وما إذا كان يجتاز SPF أو DKIM. صادِق على المرسلين الشرعيين الناقصين، وانتقل إلى quarantine مع قيمة pct منخفضة، وارفع pct تدريجيًا، وانتهِ عند reject. القفز مباشرة إلى reject غالبًا ما يستبعد أنظمة الفوترة أو أنظمة CRM أو أنظمة داخلية لم يتذكرها أحد.
هل يكفي مفتاح DKIM بطول 1024 بت؟
يعمل، لأن RFC 8301 يُلزم المستقبِلين بقبول المفاتيح من 1024 إلى 4096 بت، لكن المعيار نفسه يوصي بأن يستخدم المُوقِّع 2048 على الأقل. ولا تُعد المفاتيح الأقل من 1024 بت صالحة. والانتقال إلى 2048 بسيط: انشر المفتاح الجديد بمحدد آخر، وبدّل التوقيع، ثم ألغِ القديم بترك p فارغًا.
ما فائدة MTA-STS وTLS-RPT وBIMI؟
يطلب MTA-STS (RFC 8461) من الخوادم المُرسِلة اشتراط TLS عند التسليم إلى خوادم MX الخاصة بك، مما يمنع الهجمات التي تُخفِّض الاتصال إلى نص صريح. ويرسل TLS-RPT (RFC 8460) تقارير عند فشل تلك التسليمات. ويعرض BIMI شعار العلامة التجارية بجوار المرسل في العملاء الذين يدعمونه، ولا يعمل إلا مع DMARC على quarantine أو reject. لا شيء منها إلزامي، لكن الثلاثة مفيدة.