أداة فحص SPF
- فحص قائم على DNS
- تحليل غير اقتحامي
ما سجل SPF؟
سجل SPF (إطار سياسة المرسل) هو سجل DNS من نوع TXT يبدأ بـ v=spf1، ويسرد الخوادم المسموح لها بإرسال البريد باسم النطاق. وتقارن الخوادم المستقبِلة عنوان IP لخادم الإرسال بتلك القائمة وتحصل على نتيجة مثل pass أو fail أو softfail (RFC 7208).
تقرأ أداة فحص SPF هذه السجل في النطاق، وتفحصه بحثًا عن المشكلات الواردة أدناه، وتُجري فحص أمان البريد الإلكتروني الكامل، فتطّلع أيضًا على نتائج DKIM وDMARC وMX وDNSSEC وMTA-STS وTLS-RPT وBIMI. وهي تقرأ DNS العام فقط: فلا ترسل بريدًا ولا تغيّر السجلات.
كيف يحسب فحص SPF درجة السجل
+all- يخصم 50 نقطة: أي خادم على الإنترنت ينجح في SPF.
?all- يخصم 30 نقطة: لا توفر neutral أي حماية.
~all- يخصم 10 نقاط: softfail أضعف من -all.
- أكثر من 10 عناصر استعلام
- يخصم 20 نقطة؛ ويخصم وجود 8 إلى 10 عناصر 10 نقاط. يعدّ الفحص include: وa: وmx: وptr: وredirect= في السجل نفسه، ولا يتتبّع عناصر include.
ptr- يخصم 10 نقاط: ينص RFC 7208 على عدم نشره.
- أكثر من سجل SPF واحد
- يحصل السجل على 30، لأن الخوادم المستقبِلة تُرجع permerror.
- يتجاوز حد الاستعلامات لكنه يُقيَّم جيدًا مع ذلك
- قد يحصل سجل يتضمن -all وعددًا زائدًا من عناصر الاستعلام على 80 مع ذلك، لأن الدرجة تجمع خصومات منفصلة. لكن الخوادم المستقبِلة تُرجع permerror له، لذا أصلح الاستعلامات أولًا.
أخطاء SPF الشائعة وكيفية إصلاحها
لا يوجد سجل SPF
من دون SPF، تحصل الخوادم المستقبِلة على النتيجة none ولا يمكنها معرفة الخوادم المسموح لها بالإرسال باسم النطاق.
الإصلاح: انشر سجل TXT واحدًا في النطاق يسرد خدمات البريد لديك وينتهي بـ ~all أو -all. وإذا كان النطاق لا يرسل أي بريد، فانشر v=spf1 -all.
v=spf1 include:_spf.example.net ~all
أكثر من سجل SPF واحد
يجب ألا ينشر النطاق أكثر من سجل SPF واحد؛ إذ تُرجع الخوادم المستقبِلة permerror ويفشل SPF (RFC 7208، القسمان 3.2 و4.5). ويحدث ذلك غالبًا عند إعداد خدمة بريد جديدة بسجلها الخاص.
الإصلاح: ادمج الآليات في سجل واحد واحذف السجلات الأخرى.
v=spf1 include:_spf.example.net include:mail.example.org -all
استعلامات DNS كثيرة جدًا
يستهلك كل من include وa وmx وptr وexists وredirect استعلام DNS، ويسمح SPF بـ 10 استعلامات إجمالًا، بما فيها الاستعلامات داخل السجلات المضمَّنة. وعند تجاوز الحد، تُرجع الخوادم المستقبِلة permerror (RFC 7208، القسم 4.6.4).
الإصلاح: أزل الخدمات التي لم تعد تستخدمها، أو انقل بعض المرسلين إلى نطاق فرعي له سجل SPF خاص به. ويصلح أيضًا إحلال نطاقات عناوين ip4 وip6 محل عناصر include، لكن يجب عليك حينها تحديث السجل كلما تغيّرت نطاقات عناوين المزوّد.
+all يتيح لأي جهة الإرسال
يطابق +all كل الخوادم، لذا ينجح أي مضيف على الإنترنت في SPF للنطاق.
الإصلاح: ضع مكانه -all، أو ~all ريثما تتأكد من إدراج كل المرسلين.
?all لا يوفر أي حماية
يُرجع ?all النتيجة neutral للخوادم غير المدرجة: فالنطاق لا يقدّم أي إفادة بشأنها (RFC 7208، القسم 2.6.2).
الإصلاح: استخدم -all، أو ~all أثناء الاختبار.
~all بدلًا من -all
~all (softfail) إفادة ضعيفة بأن الخوادم غير المدرجة على الأرجح غير مصرّح لها. ولا ينبغي للخوادم المستقبِلة رفض البريد استنادًا إلى softfail وحده، لكنها قد تتعامل معه بمزيد من الريبة (RFC 7208، القسم 8.5).
الإصلاح: بمجرد أن تُظهر تقارير DMARC نجاح كل المرسلين الشرعيين، غيّر ~all إلى -all.
آلية ptr المتقادمة
ينص RFC 7208 على عدم نشر ptr: فهو بطيء، وأقل موثوقية عند حدوث أخطاء DNS، ويضع عبئًا ثقيلًا على خوادم DNS العكسي (القسم 5.5).
الإصلاح: ضع ip4 أو ip6 أو a أو include مكان ptr للخوادم التي كان يُفترض أن يغطيها.
صيغة SPF في لمحة
v=spf1- الإصدار. يبدأ به كل سجل SPF، وتُتجاهل سجلات TXT التي لا تبدأ به.
ip4: / ip6:- عنوان أو نطاق عناوين IPv4 أو IPv6، مثل 192.0.2.0/24. لا يتطلب استعلام DNS.
a / mx- عناوين النطاق نفسه، أو عناوين مضيفات MX الخاصة به. استعلام DNS واحد لكل منهما.
include:- يفحص سجل SPF لنطاق آخر، عادةً نطاق مزوّد بريد. استعلام واحد، إضافةً إلى الاستعلامات داخل ذلك السجل.
redirect=- يستخدم سجل SPF لنطاق آخر عندما لا يطابق أي شيء آخر. ويُتجاهل عندما يحتوي السجل على آلية all.
-all / ~all / ?all / +all- النتيجة لكل خادم آخر: fail أو softfail أو neutral أو pass. والآلية التي لا مؤهِّل لها تعني pass.
مثال على سجل
v=spf1 ip4:192.0.2.0/24 include:_spf.example.net -all
المصادر
مزيد من أدوات مصادقة البريد الإلكتروني
- أداة فحص DMARCافحص سياسة DMARC لنطاق ما وعنوان التقارير فيها.
- أداة فحص DKIMاعثر على مفاتيح DKIM العامة تحت المحدِّدات الشائعة.
- أداة فحص BIMIافحص سجل BIMI ومتطلب DMARC الخاص به.
- أداة فحص MTA-STSافحص سياسة MTA-STS ووضعها وTLS-RPT.
- مولّد سجل SPFأنشئ سجل SPF واحسب عدد استعلامات DNS فيه.
- مولّد سجل DMARCأنشئ سجل DMARC بالوسوم الصحيحة.
- محلل أمان البريد الإلكترونيقيّم كل سجلات مصادقة البريد الإلكتروني دفعة واحدة.
ما بعد سجلات DNS
تمنع هذه السجلات الآخرين من إرسال البريد باسم نطاقك نفسه تمامًا. لكنها لا تمنع التصيّد من النطاقات المشابهة أو من الحسابات المخترقة، التي ترسل بريدًا مصادَقًا عليه. يربط Vigilbase OS أدوات الأمان التي تدفع مقابلها بالفعل، ومنها Microsoft 365 وGoogle Workspace وProofpoint وMimecast. ويحقق الوكيل Vigil في الحوادث عالية الخطورة، ويتولى محللو Vigilbase الحالات الاستثنائية.