انتقل إلى المحتوى

أداة فحص SPF

افحص سجل SPF لنطاق ما: هل هو موجود، وما مؤهِّل all فيه، وكم استعلام DNS يستخدم، وما الذي يجب إصلاحه. ويقيّم الفحص نفسه DKIM وDMARC وبقية جوانب أمان البريد الإلكتروني للنطاق.
ابدأ فحصًا
  • فحص قائم على 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 درجة السجل

يبدأ السجل من 100 ويخسر نقاطًا عن كل مشكلة. الدرجة 80 فأكثر جيدة، ومن 50 إلى 79 تحذير، وما دون 50 سيئة. ويستحوذ SPF على 20 نقطة من أصل 100 نقطة في التقييم الإجمالي لأمان البريد الإلكتروني.
+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

المصادر

ما بعد سجلات DNS

تمنع هذه السجلات الآخرين من إرسال البريد باسم نطاقك نفسه تمامًا. لكنها لا تمنع التصيّد من النطاقات المشابهة أو من الحسابات المخترقة، التي ترسل بريدًا مصادَقًا عليه. يربط Vigilbase OS أدوات الأمان التي تدفع مقابلها بالفعل، ومنها Microsoft 365 وGoogle Workspace وProofpoint وMimecast. ويحقق الوكيل Vigil في الحوادث عالية الخطورة، ويتولى محللو Vigilbase الحالات الاستثنائية.

الأسئلة

أسئلة شائعة عن أداة فحص SPF

ما وظيفة أداة فحص SPF؟

تستعلم عن سجل TXT الذي يبدأ بـ v=spf1 في النطاق، وتفحصه بحثًا عن المشكلات التي تعطّل SPF أو تضعفه: غياب السجل، ووجود أكثر من سجل، وكثرة استعلامات DNS، ومؤهِّل all متساهل، وآلية ptr المتقادمة. وتُجري هذه الأداة أيضًا فحص أمان البريد الإلكتروني الكامل.محلل أمان البريد الإلكترونيمقارنة الفحوصات الأمنية العامة

كم عدد استعلامات DNS التي يسمح بها SPF؟

عشرة. يُحتسب كل من include وa وmx وptr وexists وredirect، بما في ذلك ما يرد داخل السجلات المضمَّنة؛ أما ip4 وip6 وall فلا تُحتسب. وعند تجاوز 10، يجب أن تُرجع الخوادم المستقبِلة permerror ويفشل SPF (RFC 7208، القسم 4.6.4).أزل الخدمات التي لم تعد تستخدمها، أو انقل بعض المرسلين إلى نطاق فرعي له سجل SPF خاص به. ويصلح أيضًا إحلال نطاقات عناوين ip4 وip6 الخاصة بالمزوّد محل عناصر include، لكن عليك حينها تحديث السجل كلما تغيّرت تلك النطاقات.حول مصادقة البريد الإلكتروني

هل ينبغي أن ينتهي سجل SPF بـ -all أم ~all؟

يخبر -all الخوادم المستقبِلة بأن الخوادم غير المدرجة غير مصرّح لها؛ أما ~all فيفيد بأنها على الأرجح غير مصرّح لها، ولا ينبغي للخوادم المستقبِلة الرفض استنادًا إلى ذلك وحده (RFC 7208، القسم 8.5). ابدأ بـ ~all ريثما تتأكد من كل خدمة ترسل باسمك، ثم انتقل إلى -all.بالنسبة إلى DMARC، تُعدّ fail وsoftfail كلتاهما عدم نجاح في SPF، لذا تكون أهمية المؤهِّل أكبر لدى الخوادم المستقبِلة التي تتصرف بناءً على SPF مباشرةً.حول مصادقة البريد الإلكترونيمحلل أمان البريد الإلكتروني

هل يمكن أن يكون للنطاق سجلان لـ SPF؟

لا. إذا أعاد الاستعلام أكثر من سجل TXT يبدأ بـ v=spf1، تُرجع الخوادم المستقبِلة permerror (RFC 7208، القسم 4.5). ادمج كل الآليات في سجل واحد واحذف السجلات الأخرى.حول مصادقة البريد الإلكتروني

هل يكفي SPF لمنع الانتحال؟

لا. يتحقق SPF من مرسل المغلّف (عنوان Return-Path)، لا من عنوان From الذي يراه الناس. ويربط DMARC نتائج SPF وDKIM بنطاق From الظاهر، ويخبر الخوادم المستقبِلة بما تفعله عندما يفشل كلاهما، لذا افحص DKIM وDMARC أيضًا.حول مصادقة البريد الإلكترونيمحلل أمان البريد الإلكتروني

هل يمكنني فحص SPF عبر API؟

نعم. أرسل {"target":"example.com"} بطلب POST إلى https://vigilbase.com/api/v1/agent/tools/email-security/execute. تتضمن الاستجابة نتيجة أمان البريد الإلكتروني الكاملة، ويرد تحليل SPF تحت result.details.records.spf.تشغيل فحص عبر API العامةمصادقة API وحدود معدل الطلبات