Check-Host.cc

فحص التحقق العالمي من SPF

إطار سياسة المرسل (SPF) هو بروتوكول أساسي لمصادقة البريد الإلكتروني يمنع انتحال النطاق (Spoofing) عن طريق نشر قائمة بيضاء تشفيرية لعناوين IP المصرح لها بالإرسال. في حين أن بروتوكول SPF نفسه ضروري لتسليم البريد الحديث، فإن نوع سجل DNS المخصص لـ SPF (النوع 99) له تاريخ فوضوي بشكل لا يصدق وهو متقادم رسمياً.

صعود وسقوط السجل من النوع 99

عندما تم تصور بروتوكول SPF لأول مرة (RFC 4408)، صمم فريق عمل هندسة الإنترنت (IETF) سجل موارد DNS معيناً (النوع 99) مصمماً خصيصاً لعزل Payloads الخاصة بـ SPF عن بيانات TXT القياسية. كانت النظرية هي أن الحفاظ على نوع سجل مخصص سيسرع من تحليل الـ Resolver. ومع ذلك، كان الإطلاق فشلاً ذريعاً. لم تتعرف خوادم DNS القديمة والجدران النارية وأجهزة موازنة الحمل (Load Balancers) على صيغة النوع 99 الجديدة وكثيراً ما كانت تسقط الحزم، مما تسبب في انقطاع واسع النطاق للبريد الإلكتروني. اعترافاً بعدم توافق الأجهزة هذا، نشرت IETF الإصدار RFC 7208، الذي أوقف رسمياً سجل النوع 99. اليوم، يجب نشر جميع تكوينات SPF كسجلات TXT قياسية. إذا استمر المسؤول في نشر سجل SPF القديم من النوع 99، فإن المنصات الحديثة مثل Microsoft Exchange و Google Workspace ستتجاهله تماماً، مما يؤدي إلى فشل فوري في DMARC.

الحد الميكانيكي المتمثل في 10 عمليات بحث (Lookups)

أبرز نقطة فشل فني للمطورين الذين يديرون SPF هو العتبة الصارمة المتمثلة في 10 عمليات بحث. نظراً لأن سجل SPF يسمح للمسؤولين بتضمين سياسات نطاق أخرى باستخدام توجيه include: (مثل include:_spf.salesforce.com)، يجب على خادم البريد المستقبل إجراء استعلام DNS تعودي (Recursive) لجلب عناوين IP من مزود الطرف الثالث. لحماية خوادم MTA من حلقات التوجيه اللانهائية وهجمات التضخيم (DDoS Amplification) المستهدفة، يحد البروتوكول بشدة من التنفيذ عند 10 عمليات بحث DNS تعودية. إذا ربطت الشركة عدداً كبيراً جداً من مزودي SaaS ببعضهم البعض ووصلت إلى 11 عملية بحث، يتوقف التنفيذ ويعود بخطأ SPF "PermError". يؤدي هذا على الفور إلى ارتداد (Hard-Bounce) رسائل البريد الإلكتروني الصادرة المشروعة أو إسقاطها في الحجر الصحي.

Flattening والتشخيصات

لتجاوز قيود البحث، يستخدم مهندسو الشبكات أدوات "SPF Flattening". تعمل هذه البرامج النصية كل ساعة، وتوسع جميع توجيهات include: عبر واجهة برمجة التطبيقات (API)، وتجرد أسماء المضيفين، وتجمع كتل IPv4/IPv6 الخام في سجل TXT مسطح وضخم. يضمن استخدام أداة تشخيص عالمية أن يكون بناء الجملة الخاص بك صالحاً، وأن الـ includes المتداخلة لم تتجاوز بصمت حد DNS، وأن سياستك تنتهي صراحة بعلامة -all (فشل) أو ~all (فشل ناعم) مقيدة لرفض الـ Payloads المزيفة.