ما هو SPF؟
SPF (إطار سياسة المرسل) هو طريقة مصادقة البريل الإلكتروني التي تسمح لمالكي النطاقات بتحديد خوادم البريل المصرح لها بإرسال بريل إلكتروني نيابة عنهم. تتحقق خوادم البريل المستقبلة من سجلات SPF للتحقق من أن البريل الإلكتروني الوارد من نطاق يأتي من مصدر مصرح.
لماذا SPF مهم
بدون SPF، يمكن لأي شخص إرسال بريل إلكتروني يبدو أنه يأتي من نطاقك (انتحال). يساعد SPF:
- منع التصيد الاحتيالي: لا يمكن للمهاجمين بسهولة انتحال نطاقك
- تحسين التسليم: توفر مزودو البريل الإلكتروني ثقة في الرسائل المصادقة
- حماية السمعة: لن يؤدي البريل المزيف المزعج إلى إلحاق الضرر بسمعة نطاقك
- تمكين DMARC: SPF هو لبنة أساسية لسياسات DMARC
كيفية عمل SPF
1. ينشر مالك النطاق سجل SPF (TXT) في DNS
2. يرسل خادم البريل الخاص بالمرسل بريداً إلكترونياً يدّعي أنه من @example.com
3. يبحث خادم البريل المستقبل عن سجل SPF الخاص بـ example.com
4. يتحقق الخادم ما إذا كان IP المرسل مصرح
5. تطبيق النتيجة: النجاح أو الفشل أو softfail أو محايد
صيغة سجل SPF
سجل SPF هو سجل TXT بصيغة محددة:
v=spf1 [mechanisms] [qualifier]all
أمثلة سجلات SPF
أساسي (خادم بريل واحد):v=spf1 ip4:203.0.113.50 -all
Google Workspace:
v=spf1 include:_spf.google.com ~all
خدمات متعددة:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.50 -all
آليات SPF
| الآلية | الوصف | مثال |
|---|---|---|
| ip4 | عنوان IPv4 أو نطاق | ip4:203.0.113.0/24 |
| ip6 | عنوان IPv6 أو نطاق | ip6:2001:db8::/32 |
| include | ضمّن SPF نطاق آخر | include:_spf.google.com |
| a | IP سجل A الخاص بالنطاق | a:mail.example.com |
| mx | IPs خادم MX الخاص بالنطاق | mx |
| all | مطابقة الكل (عادة آخر) | -all, ~all, ?all |
المؤهلات
| المؤهل | النتيجة | المعنى |
|---|---|---|
| + (افتراضي) | النجاح | مرسل مصرح |
| - | الفشل | غير مصرح، رفض |
| ~ | SoftFail | ربما غير مصرح، قبول لكن ضع علامة |
| ? | محايد | لا تصريح السياسة |
أفضل ممارسات تطبيق SPF
ابدأ مع SoftFail
عند بدء تطبيق SPF أولاً، استخدم ~all لتجنب رفض البريل الإلكتروني الشرعي:
v=spf1 include:_spf.google.com ~all
الانتقال إلى Fail
مرة واحدة تأكد من العمل، الانتقال إلى -all للفرض الصارم:
v=spf1 include:_spf.google.com -all
احفظ عمليات بحث DNS تحت 10
يسمح SPF بحد أقصى 10 عمليات بحث DNS (ضمّن، a، mx، redirect، exists). تجاوز هذا الحد يسبب فشل SPF.
# عد كعمليات بحث DNS:
include:_spf.google.com # 1 (بالإضافة إلى الضمنيات المتداخلة)
a:mail.example.com # 1
mx # 1
# لا عد:
ip4:203.0.113.50 # 0
ip6:2001:db8::1 # 0
سجل SPF واحد فقط
تسبب سجلات SPF متعددة في فشل التحقق. ادمج جميع الآليات في سجل واحد:
# خطأ - سجلات SPF اثنان
v=spf1 include:_spf.google.com ~all
v=spf1 include:sendgrid.net ~all
# صحيح - مدمج
v=spf1 include:_spf.google.com include:sendgrid.net ~all
التحقق من سجلات SPF
استخدام dig:dig example.com TXT | grep spf
استخدام DomScan:
curl "https://domscan.net/v1/health?domain=example.com"
# يرجع حالة hasSPF
مدققات الإنترنت: MXToolbox، mail-tester.com
مشاكل SPF الشائعة
عمليات بحث DNS كثيرة جداً
العرض: SPF permerror
الحل: أسطح الضمنيات أو استخدم خدمات خارجية أقل
خدمات الجهات الخارجية المفقودة
العرض: فشل البريل الإلكتروني الشرعي SPF
الحل: أضف include/ip4 لجميع الخدمات المرسلة (أدوات التسويق، CRM، إلخ)
SPF متساهل جداً
العرض: يمر البريل الإلكتروني المزيف SPF
المشكلة: استخدام +all أو ضمّن خدمات كثيرة جداً
الحل: تدقيق وتقييد المرسلين المصرح لهم
SPF ضروري لمصادقة البريل الإلكتروني لكنه يعمل بشكل أفضل عند دمجه مع DKIM و DMARC للحماية الشاملة.