الخلاصة

  • RPZ منطقة تحمل محفزات وإجراءات مقترحة. يثبت النقل الموثق هوية الناشر والنسخة، لكنه لا يثبت صحة كل مؤشر ولا مشروعية النتيجة لكل عميل.
  • يختار مشغّل المحلل التكراري ترتيب المناطق وتجاوز الإجراءات والاستثناءات ونطاق العملاء والتعامل مع DNSSEC وTTL وEDE. لذلك تكون الإجابة المعدلة قراراً محلياً لا رسالة محايدة.

لنفترض أن جهة ما تستقبل قائمتين: الأولى أمنية تجارية، والثانية تنفذ مطلباً قانونياً خارجياً. كلتاهما تستخدم NXDOMAIN. إذا سجّل النظام النتيجتين باسم «محجوب لأسباب أمنية»، ضاعت جهة القرار حتى لو كان النقل صحيحاً تماماً. هنا لا تكمن المشكلة في صحة المؤشر فقط، بل في إخفاء مصدر السلطة.

تشرح وثائق BIND 9 الحالية RPZ بوصفها صيغة مفتوحة ومحايدة للمورّد، تضع قواعد جدار DNS داخل منطقة قابلة للنقل. ويطبق Unbound وPowerDNS Recursor النموذج نفسه بضوابط تشغيلية مختلفة.

أما draft-vixie-dnsop-dns-rpz-00 فهو مسودة فردية منتهية، وليس RFC ولا معياراً معتمداً من IETF. يسجل تاريخ Datatracker أنها دخلت حالة السكون في يوليو 2020. يمكن استخدامها لشرح الصيغة المشتركة، لا لمنحها مكانة معيارية غير موجودة.

تفصل المسودة بين المنتج والمشترك: ينشر المنتج بيانات السياسة بالنقل، ثم ترفعها تهيئة المحلل التكراري لدى المشترك إلى مستوى التحكم المحلي. قد يثبت TSIG أن المنطقة جاءت من الطرف المتفق عليه من دون تعديل. لكنه لا يقرر أن الاسم ضار، ولا أن NXDOMAIN هو الرد المناسب، ولا أن الإجراء يجوز لكل فئة من العملاء.

تتضمن الصيغة خمسة أنواع من المحفزات: عنوان العميل، اسم السؤال QNAME، عنوان كان سيظهر في الجواب، اسم خادم السلطة، وعنوان ذلك الخادم. لا تعمل هذه المحفزات في اللحظة نفسها. وقد توسّع NSDNAME وNSIP الأثر إلى أسماء كثيرة تشترك في استضافة DNS واحدة. تحذر BIND من أن النتيجة قد تكون بعيدة المدى.

وتختلف الإجراءات الستة في معناها. يصنع NXDOMAIN عدم وجود الاسم. يبقي NODATA الاسم ويحذف نوع السجل المطلوب. لا يرسل DROP شيئاً. يفرض TCP-only إعادة المحاولة عبر TCP. تنتج البيانات المحلية عنواناً أو CNAME جديداً. ويمنع PASSTHRU السياسة اللاحقة وفق ترتيب التنفيذ. جمعها تحت كلمة «حجب» يحجب الفرق التشغيلي الحقيقي.

تحدد مرجعية BIND أن المنطقة الأولى في response-policy تتقدم عند تعدد المطابقات، ثم يأتي ترتيب أنواع المحفزات ودقة الاسم أو البادئة. ويطبق Unbound المناطق حسب ترتيب الإعداد؛ كما يعد PASSTHRU مطابقة توقف المناطق التالية. لذلك توصي BIND بوضع منطقة محلية أولاً لحماية الشركاء قبل تغذيات خارجية.

يمكن للمشغّل أيضاً تغيير الإجراء الوارد. تسمح BIND بفرض NXDOMAIN أو NODATA أو DROP أو TCP-only أو PASSTHRU أو CNAME محلي على منطقة كاملة. يستطيع Unbound إبقاء المحفزات الخارجية وتوجيهها إلى وجهة محلية. ويعرض PowerDNS سياسات افتراضية منها Custom وNoAction وDrop وTruncate. حين يتغير الإجراء، تتغير جهة المسؤولية معه.

حتى الاختبار يختلف. في Unbound، يسجّل disabled المطابقة ولا ينفذها، ثم يسمح بفحص المنطقة التالية؛ أما PASSTHRU فهو مطابقة فعلية توقف ما بعدها. لدى BIND دلالة خاصة لوضع DISABLED. لا يكفي تشابه الاسم للحكم على الأثر.

يوثق PowerDNS أن ترتيب التقييم تغير بين الإصدارات وأن التطبيق يوازن الأداء والخصوصية عند فحص العميل والاسم وخادم السلطة وعنوان الجواب. قد تنتج منطقتان متطابقتان قراراً مختلفاً على محللين مختلفين. صحة ملف السياسة لا تصف وحدها حقيقة التنفيذ.

ترسم DNSSEC حداً لا يمكن استعارته. تسمي مسودة RPZ النتائج المعدلة نتائج غير مطابقة للحقيقة السلطوية عن قصد. تتجنب BIND افتراضياً التعديل عندما يطلب العميل بيانات DNSSEC وتوجد تواقيع أصلية. يسمح break-dnssec yes بالتعديل، لكن الجواب الجديد لا يمكن التحقق منه.

يعرّف RFC 4035 الحالة Bogus عندما يُفترض بناء سلسلة ثقة ولا تنجح، وقد يكون السبب هجوماً أو خطأ إعداد أو تلفاً. كما يبين أثر السياسة المحلية للمحلل التكراري. تصادق DNSSEC سجلات الجهة السلطوية، ولا توقع NXDOMAIN محلياً. ويصادق TSIG نقل التغذية، لا الادعاء المرسل إلى العميل.

قد تبقى النتيجة بعد سحب القاعدة. ينظم RFC 2308 التخزين السلبي لـNXDOMAIN وNODATA وفق TTL ونطاقات مختلفة. تضع BIND حداً محلياً لمدة سياسة RPZ، ويعرض PowerDNS مدة السجل المصطنع ومسح الذاكرة المؤقتة. هناك زمن لسحب المنتج، وزمن لوصول IXFR، وزمن لمسح المحلل، وزمن لانتهاء ذاكرة العميل.

يساعد RFC 8914 على تسمية جهة القرار. الرمز 15 Blocked لسياسة أمنية داخلية يفرضها مشغّل الخادم، و16 Censored لمطلب خارجي، و17 Filtered لفلترة طلبها العميل، و18 Prohibited لعميل غير مخوّل. تستطيع BIND وPowerDNS إرفاق EDE بنتيجة RPZ.

غير أن EDE معلومات تشخيصية فقط. لا يغير معالجة RCODE وقد لا يكون موثقاً، وقد يتسرب منه وجود الاسم في قائمة. يصبح دليلاً مفيداً عندما يرتبط برقم نسخة التغذية واسم السياسة المحلية والمحفز الفائز والإجراء وفئة العميل والمدة.

تشمل الجودة سرعة السحب، لا سرعة الإضافة فقط. تطلب المسودة المنتهية تقليل تأخر حذف السياسة الخاطئة أو القديمة. يستطيع PowerDNS حفظ آخر نسخة ناجحة وتحميلها عند البدء قبل IXFR. ويمكن لـBIND إرجاع SERVFAIL حتى تجهز المناطق أو استخدام المناطق التي نجح تحميلها. يظل عمر التغذية الأقصى وسياسة التحميل الجزئي والرجوع مسؤولية محلية.

تمنع أفكار Heng Lu حول أولوية الشفرة العاملة والحد الأدنى للمواصفة والقرار المستقبلي المحلي وطبقات الواقع توسيع سلطة الرمز. الصيغة تنقل مرشحاً. الإعداد يتخذ القرار. الجواب المرصود يثبت الأثر.

تبدأ سلسلة التدقيق بالناشر والنسخة، ثم توثيق النقل، والقبول المحلي، والترتيب الفعلي، وتجاوز الإجراء، والقاعدة الفائزة، وTTL وEDE، وتنتهي بقياس من كل فئة عملاء ومقارنة مع الجواب السلطوي غير المفلتر. سلامة التغذية أول السلسلة، لا خاتمتها.