التنزيل

DKIM وSPF وDMARC

كيف يتحقق FOLD من توقيعات DKIM بنفسه ويجمعها مع نتائج SPF وDMARC من خادم بريدك.

يحكم FOLD على المرسل من مصدرين: النتائج التي سجّلها خادم بريدك عند وصول الرسالة، وفحص DKIM الذي يجريه FOLD بنفسه. ويعمل كلاهما على Mac وiPhone وiPad.

نتائج خادمك

تضيف الخوادم المستقبِلة رأس Authentication-Results يحمل أحكامها في SPF وDKIM وDMARC. ويستطيع المرسل أيضًا إضافة رؤوس كهذه، لذا لا يثق FOLD إلا برأس يطابق اسم الخادم فيه خادم IMAP لحسابك مطابقة تامة. وتُتجاهل كل النسخ الأخرى.

يأخذ FOLD نتيجتي SPF وDMARC من هذا الرأس؛ ولا يقيّم SPF بنفسه. وإذا كتب مزوّدك الرأس باسم غير اسم خادم IMAP لديه، فلن يكون لدى FOLD حكم SPF أو DMARC لبريدك، ويعرض الحالة المحايدة الموصوفة في المؤشرات.

فحص DKIM الذي يجريه FOLD بنفسه

لكل DKIM-Signature في الرسالة، يقوم FOLD بما يلي:

  1. يشترط أن يكون رأس From ضمن الرؤوس الموقّعة.
  2. يعيد حساب تجزئة المتن بطريقة التطبيع المحددة في التوقيع (simple أو relaxed).
  3. يجلب المفتاح العام من DNS (selector._domainkey.domain).
  4. يتحقق من التوقيع بخوارزمية rsa-sha256 أو ed25519-sha256.

تُرفض توقيعات rsa-sha1، ومفاتيح RSA الأقصر من 1024 بت، والمفاتيح التي أبطلها النطاق. والتوقيع بمفتاح معلَّم للاختبار (t=y) لا يُحتسب نجاحًا.

كيف تُجمَع النتائج

يستطيع فحص DKIM الذاتي أن يؤكد حكم خادمك أو يشدّده، ولا يخففه أبدًا:

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

يُعدّ DMARC متوافقًا حين يطابق النطاق الناجح نطاق المرسل أو يشترك معه في آخر جزأين من اسمه. ولا يستخدم FOLD قائمة اللواحق العامة (Public Suffix List) بعد، لذا تكون هذه المقارنة متساهلة أكثر من اللازم مع النطاقات الواقعة تحت لواحق مثل co.uk. والرسالة التي تحتوي على أكثر من رأس From واحد تُعامَل دائمًا على أنها انتحال محتمل.

متى يجري الفحص

يفحص FOLD الرسالة حين ينزّل الرسالة الكاملة أول مرة: حين تفتحها، أو حين يحمّل الرسالة التالية مسبقًا. وتظهر الرسالة فورًا؛ ويتبعها الحكم بعد لحظة. وتذهب استعلامات DNS إلى المحلِّل الذي يستخدمه جهازك.

تُحفظ النتيجة مع الرسالة. وإذا فشل DNS، يعيد FOLD المحاولة في المرة التالية التي تفتح فيها الرسالة وأنت متصل.