الآلية الموجودة يمكن أن تجعل SPF تعتمد السياسة على اسم DNS الذي تم تجميعه من مدخلات SMTP الخاصة بالرسالة. وهذا من شأنه تمكين السياسات الدقيقة، ولكنه يجعل ما هو مرئي سجل TXT وصف سيئ للاستعلام الفعلي أو آثاره على الخصوصية.
لا توافق على سياسة الماكرو لأنها تبدو مألوفة. قم بتوسيعها لتشمل المدخلات التمثيلية، وحدد مشغل DNS الذي يتلقى الاستعلام وحدد معنى الإجابة الإيجابية.
فهم الاختبار الموجود
موجود يوسع مواصفات المجال الخاص به وينفذ استعلام سجل A. وهو يفعل ذلك حتى بالنسبة لاتصال IPv6 SMTP . إن وجدت سجل يتم إرجاعها، وتتطابق الآلية؛ لا تتم مقارنة العنوان الذي تم إرجاعه مع عنوان IP المتصل. إجابة AAAA فقط لا تلبي هذا البحث. يرى RFC 7208 القسم 5.7.
ضمن المؤهل العادي +، تنتج المباراة تمريرة. اسم مفقود أو فارغ الإجابة غير متطابقة؛ يجب التعامل مع أخطاء DNS المؤقتة وفقًا لقواعد خطأ نظام التعرف على SPF ، ولا يتم تحويلها بصمت إلى قرار ترخيص.
قم بتوسيع الاستعلام الاصطناعي يدويًا
افترض وجود سجل واحد صالح وإجابات DNS ناجحة وعدم تجاوز الحدود. يعتبر v=spf1 exists:%{ir}._permit.%{d} -all على example.com لاتصال IPv4 من 192.0.2.9 . يمثل الماكرو i عنوان الإدخال. يقوم المحول r بعكس الأجزاء، وd هو مجال التقييم الحالي. الاستعلام الموسع هو 9.2.0.192._permit.example.com.
إذا قام هذا الاسم بإرجاع سجل A، مثل القيمة التوضيحية 127.0.0.2 ، فستوجد تطابقات على الرغم من أن هذا العنوان يختلف عن 192.0.2.9 . في حالة عدم وجود سجل وعدم وجود خطأ يمنع التقييم، فإن الآلية غير متطابقة وتصل السياسة -all .
القيمة A هنا ليست سوى علامة إجابة إيجابية. يأتي المعنى الأمني من التحكم في مساحة اسم DNS التي تم الاستعلام عنها وقاعدتها الخاصة بإرجاع الإجابات. يمكن لحرف البدل الذي يجيب على كل استعلام محتمل أن يسمح عن غير قصد بكل إدخال يصل إليه.
تمييز الهويات الكلية
الماكرو d هو المجال الحالي الذي يتم تقييمه. يأتي الماكرو o من مجال المرسل، بينما يشير l إلى الجزء المحلي للمرسل. يمكن أن يؤدي التضمين أو إعادة التوجيه إلى تغيير سياق التقييم، لذا لا تفترض أن d وo يظلان قابلين للتبادل داخل التبعية.
يمكن لمحولات الماكرو تحديد الأجزاء وعكسها وتغيير المحددات. توسيع IPv6 ليس نفس السلسلة العشرية المنقطة مثل IPv4 . يستخدم RFC 7208 §7.2 و RFC 7208 §7.3 وتتبع التنفيذ للنموذج الفعلي بدلاً من التخمين من مثال IPv4 .
تتطلب الأسماء الموسعة والتسميات الطويلة المشوهة عناية خاصة. تحت RFC 7208 §4.8، تشير المواصفات إلى اختلافات في التنفيذ بالنسبة لبعض نتائج مواصفات المجال غير الصالحة. احتفظ بالتركيبات ضمن بنية DNS الصالحة واختبر المقيم المستخدم في بيئتك؛ لا تدعي أن جميع أجهزة الاستقبال تتعامل مع كل المدخلات المشوهة بشكل مماثل.
مراجعة الخصوصية والتوافر
كما هو موضح في RFC 7208 §11.6، يمكن للماكرو الذي يستخدم بيانات الجزء المحلي أو بيانات المرسل الكامل الكشف عن معلومات الهوية المتعلقة بالرسالة من خلال استعلامات DNS لمشغل مساحة الاسم والبنية الأساسية لنظام DNS ذي الصلة. قم بمراجعة الحد الأدنى من البيانات المطلوبة قبل استخدام مثل هذا التصميم، خاصة مع خدمة سياسة الطرف الثالث.
تعتمد السياسة أيضًا على مدى توفر نظام DNS للرد وسلامته. سجل من يقوم بتشغيله، وكيف يتم إنشاء الإجابات الإيجابية، وكيف تتم مراجعة التغييرات وما يحدث أثناء الانقطاعات. تحت RFC 7208 §4.6.4، المصطلحات المسببة لاستعلام DNS و عمليات بحث فارغة تظل خاضعة لحدود SPF ؛ موجود لا يوفر مكالمات سياسة خارجية غير محدودة.
بناء تركيبات قبول مفيدة
اختبر إدخالاً معتمدًا، ومدخلاً غير مصرح به، IPv6 إذا تم استخدامه، وانقطاع DNS ، وجزءًا محليًا صالحًا ولكن غير عادي للمرسل إذا كان يؤثر على الاستعلام. احفظ الاسم الموسع الدقيق ونوع الاستعلام وإجابة DNS ونتيجة نظام التعرف على هوية المرسل SPF الطرفي لكل تركيبات.
قم أيضًا باختبار سلوك أحرف البدل والتغييرات في المنطقة المستهدفة. يمكن أن يظل السجل صحيحًا من الناحية النحوية أثناء قيام خدمة الرد بتغيير منطق الأذونات الخاص بها. أغلق المراجعة فقط عندما يكون من الممكن شرح قرار DNS وإعادة إنتاجه.
الوجبات الجاهزة العملية
في الواقع، يعتبر سؤال DNS الموسع هو دليل السياسة. قم بمراجعة مدخلاتها ودلالات الإجابة والتعرض للخصوصية وسلوك الأخطاء قبل الاعتماد على التمريرة الناتجة.
سجل القرار وحدوده
بالنسبة لنفس إدخال 192.0.2.9 ، قم بالتمييز بين ثلاث تركيبات: A= 127.0.0.2 يعطي تطابقًا وتمريرة مؤهلة افتراضيًا؛ إجابة فارغة ناجحة لا تعطي أي تطابق وتصل إلى -all ؛ خطأ DNS مؤقت ينتهي التقييم كما temperror بدلا من الفشل. قاعدة الخطأ هي RFC 7208 §5 و RFC 7208 §4.6.2. هذه هي النتائج المتوقعة، ولم يتم ملاحظة DNS أو تشغيل المقيم.