الخلاصة

  • منطقة الفهرسة إعداد قابل للتنفيذ، وليست جردًا ساكنًا؛ فالجيل الصحيح منها يستطيع إضافة مناطق أعضاء أو حذفها وإعادة إنشائها عبر أسطول كامل.
  • يثبت TSIG أو النقل عبر TLS هوية الطريق والطرف، لكنه لا يثبت أن قائمة فارغة مقصودة؛ لذلك يجب وصل سجل المصدر بسياسة قبول المستهلك والحالة القابلة للاستعادة والردود السلطوية الحية.

لنتخيل جيلًا يحمل SOA وNS صحيحين، وقيمة وحيدة 2 في version.$CATZ، ورقمًا تسلسليًا أحدث، ثم يصل عبر نقل موثّق. لا توجد سجلات PTR مكررة ولا خاصية معروفة معطوبة. ولا يوجد أي عضو.

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

المغزى أن الرسالة قد تكون أصلية وسليمة، بينما القرار الذي حملته خاطئ تمامًا.

طبقة أعلى من محتوى المنطقة

ينقل AXFR وIXFR محتوى منطقة معروفة أصلًا، ولا يوزعان تلقائيًا قائمة المناطق التي ينبغي للخادم استضافتها. يضع RFC 9432 هذه القائمة في منطقة DNS عادية ذات بنية خاصة. يشير PTR تحت وسم فريد في zones.$CATZ إلى اسم العضو، ثم يحوّل المستهلك التغيير إلى إعداد جارٍ.

منطقة العضو تجيب عما ينبغي نشره. أما الفهرس فيقرر أولًا ما إذا كان الخادم سيصبح مسؤولًا سلطويًا عن تلك المنطقة. ويصرح RFC بأن السيطرة الإدارية على المناطق المخدومة تنتقل من مشغّل المستهلك إلى مالك محتوى الفهرس. لكنه يوصي أيضًا بأن يقيد المستهلك الأسماء المقبولة بنمط محلي أو بمقارنتها بقاعدة مستقلة. التنسيق المشترك ينقل الطلب؛ ولا يلغي حق المستهلك في تحديد مجال تنفيذه.

المكسور ليس هو الفارغ

نسخة مفقودة أو غير مدعومة، أو عضو مكرر، أو خاصية معروفة ذات شكل غير صالح تجعل الفهرس مكسورًا. عندها لا يطبق المستهلك الجيل الجديد، ولا يحذف الأعضاء الذين أنشأهم آخر جيل صالح. وحتى انتهاء الصلاحية يوقف التفسير ولا يصنع أمر حذف شاملًا.

أما الفراغ الصحيح بنيويًا فهو تغيير صالح. كذلك قد يكون اسم ما صحيحًا لكنه خارج عقد المستهلك. لذلك توجد ثلاثة أحكام مستقلة: صحة البنية، وهوية قناة النقل، وقبول المعنى التشغيلي. لا يجوز لاختبار واحد أخضر أن يبتلع هذه الحدود.

وسم صغير يحمل حالة كبيرة

وسم العضو الفريد لا يعني ملكية أو هوية تجارية، لكن تغييره يعامل كحذف ثم إضافة جديدة. وقد تضيع معه بيانات المنطقة ومفاتيح DNSSEC والسجلات الزمنية.

تنظم خاصية coo الانتقال من فهرس قديم إلى جديد. ينتظر المستهلك ظهور العضو في الوجهة ويعيد فحص إشارة التسليم في المصدر. الحفاظ على الوسم نفسه قد ينقل الحالة؛ وتغييره يفرض إعادة ضبطها. وإذا لم تدعم جميع البرمجيات coo، فقد تصل الإضافة قبل الحذف، فتبدو تعارضًا ويُتجاهل العضو الجديد. يترك RFC الاسترداد للمشغّل والتنفيذ.

المدخل نفسه لا يضمن الأثر نفسه

معنى group اتفاق محلي. تُهمل القيم غير المعروفة، وقد تعالج القيم المتعددة كلها أو بعضها أو لا شيء منها. ولا تعد خصائص *.ext بتوافق عام.

توثق BIND المعالجة بحسب view وفاصلًا أدنى للتحديث. وتوضح PowerDNS قيود backend ودعم بعض الخصائص. وتعرض Knot DNS قوالب وتحققًا خارجيًا، كما توثق الحذف الفوري لحالة العضو المفهرس وحدود الانتقال في تنفيذها الحالي. هذه حقائق منتجات، لا قواعد موحدة في RFC. لذلك يجب تسجيل البرنامج والإصدار والقالب ونتيجة الإعداد، لا تجزئة ملف الفهرس فقط.

التشفير يحرس الطريق

يوثق TSIG معاملة DNS ويحمي سلامتها. ويمكن لـ XFR عبر TLS إضافة السرية وتوثيق الطرفين. لكن كليهما لا يرى الاستعلام الذي أعاد صفر صفوف لبرنامج التوليد، ولا دفعة الإلغاء التي اختارت كل العملاء.

تبدأ سلسلة الدليل بصورة الجرد المعتمدة، والعدد المتوقع، وهوية المسؤول، وإصدار المولد وتجزئات دخله وخرجه. ثم تربط الرقم التسلسلي والفروق والأوسمة والخصائص بهوية النقل وحكم المستهلك. وتنتهي بقائمة المناطق المفعلة، ونقل كل عضو، وحالة SOA والمفاتيح، واستعلامات مباشرة من كل موقع مهم.

تبقى إحالة NS في المنطقة الأب مستقلة. حذف المنطقة من ثانوي لا يحذف الإحالة، وقد تستمر الاستعلامات في الوصول إلى خادم لم يعد يقدم الإجابة. نجاح الفهرس لا يثبت نجاح الخدمة.

المصادر الأساسية