إصدار PowerDNS Recursor 4.2 ومبادرة يوم علم DNS لعام 2020

بعد عام ونصف من التطوير المقدمة إصدار خادم DNS للتخزين المؤقت مورد PowerDNS 4.2، وهو المسؤول عن تحليل الاسم المتكرر. تم بناء PowerDNS Recursor على نفس قاعدة التعليمات البرمجية لخادم PowerDNS الموثوق ، ولكن يتم تطوير خوادم DNS التكرارية والموثوقة من خلال دورات تطوير مختلفة ويتم إصدارها كمنتجات منفصلة. رمز المشروع وزعت من خلال مرخص بموجب GPLv2.

يزيل الإصدار الجديد جميع المشكلات المتعلقة بمعالجة حزم DNS مع أعلام EDNS. في الإصدارات الأقدم من PowerDNS Recursor قبل عام 2016 ، تمت ممارسة تجاهل الحزم ذات أعلام EDNS غير المدعومة ، دون إرسال استجابة بالتنسيق القديم ، وتجاهل أعلام EDNS ، كما هو مطلوب في المواصفات. في السابق ، تم دعم مثل هذا السلوك غير القياسي في BIND في شكل حل بديل ، ولكن في إطار أُجرِي مبادرات فبراير يوم علم DNS، قرر مطورو خوادم DNS التخلي عن هذا الاختراق.

في PowerDNS ، تم إصلاح المشكلات الرئيسية في معالجة الحزم مع EDNS مرة أخرى في عام 2017 في الإصدار 4.1 ، وفي الفرع 2016 الذي تم إصداره في عام 4.0 ، ظهرت حالات عدم توافق فردية حدثت في ظل مجموعة معينة من الظروف ولم تتداخل بشكل عام مع التشغيل العادي. في PowerDNS Recursor 4.2 ، كما في ملزم 9.14، تمت إزالة الحلول لدعم الخوادم الموثوقة التي تستجيب بشكل غير صحيح للاستعلامات بعلامات EDNS. حتى الآن ، إذا لم تكن هناك استجابة بعد فترة زمنية معينة بعد إرسال طلب بعلامات EDNS ، فقد اعتبر خادم DNS أن العلامات الموسعة غير مدعومة وأرسل طلبًا ثانيًا بدون إشارات EDNS. تم تعطيل هذا السلوك الآن ، حيث أدى وجود مثل هذا الرمز إلى زيادة التأخير بسبب إعادة إرسال الحزم وزيادة حمل الشبكة والغموض في حالة عدم وجود استجابة بسبب فشل الشبكة ، كما أنه يتداخل مع تنفيذ الميزات المستندة إلى EDNS مثل استخدام ملفات تعريف ارتباط DNS للحماية من هجمات DDoS.

في العام التالي تقرر عقد حدث يوم علم DNS 2020مصممة للتركيز عليها القرار проблем مع تجزئة IP عند معالجة رسائل DNS الكبيرة. كجزء من المبادرة مخطط قم بإصلاح أحجام المخزن المؤقت الموصى بها لـ EDNS حتى 1200 بايت ، و ترجم معالجة الطلبات عبر TCP في فئة مدعومة بالضرورة على الخوادم. مطلوب الآن دعم معالجة الطلبات عبر UDP ، و TCP مطلوب ، لكنه ليس مطلوبًا للتشغيل (المعيار ينص على القدرة على تعطيل TCP). يُقترح إزالة خيار تعطيل TCP من المعيار وتوحيد الانتقال من إرسال الطلبات عبر UDP إلى استخدام TCP في الحالات التي يكون فيها حجم المخزن المؤقت EDNS المحدد غير كافٍ.

ستؤدي التغييرات المقترحة من قبل المبادرة إلى القضاء على الالتباس حول اختيار حجم المخزن المؤقت EDNS وحل مشكلة تجزئة رسائل UDP الكبيرة ، والتي غالبًا ما تؤدي معالجتها إلى فقدان الحزم وانتهاء المهلات من جانب العميل. من جانب العميل ، سيكون حجم المخزن المؤقت EDNS ثابتًا ، وسيتم إرسال الردود الكبيرة على الفور إلى العميل عبر TCP. سيؤدي أيضًا تجنب إرسال رسائل كبيرة عبر UDP إلى حظر ذلك الهجمات على تسمم ذاكرة التخزين المؤقت لـ DNS ، استنادًا إلى معالجة حزم UDP المجزأة (عند تقسيمها إلى أجزاء ، لا يتضمن الجزء الثاني رأسًا بمعرف ، لذلك يمكن تزويره ، وهو ما يكفي فقط لمطابقة المجموع الاختباري).

عالج PowerDNS Recursor 4.2 المشكلات المتعلقة بحزم UDP الكبيرة وتم نقله لاستخدام حجم المخزن المؤقت EDNS (edns-outgoing-bufsize) من 1232 بايت بدلاً من الحد المستخدم سابقًا وهو 1680 بايت ، والذي يجب أن يقلل بشكل كبير من فرصة فقدان حزم UDP. تم اختيار القيمة 1232 لأنها تمثل الحد الأقصى لحجم استجابة DNS ، مع مراعاة IPv6 ، الذي يتناسب مع الحد الأدنى لقيمة MTU (1280). تم أيضًا تقليل قيمة معلمة عتبة الاقتطاع ، المسؤولة عن اقتطاع الاستجابات للعميل ، إلى 1232.

تغييرات أخرى في PowerDNS Recursor 4.2:

  • دعم الآلية المضافة XPF (X-Proxied-For) ، وهو مكافئ DNS لرأس X-Forwarded-For HTTP ، والذي يسمح لك بتمرير معلومات حول عنوان IP ورقم المنفذ للطالب الأصلي ، وإعادة توجيهه من خلال وكلاء وسيطة وموازنات التحميل (لـ مثال ، dnsdist). لتمكين XPF ، فإن الخيارات "xpf- السماح- من"و"xpf-rr- كود".
  • دعم محسّن لتمديد EDNS الشبكة الفرعية للعميل (ECS) ، والذي يسمح بمعلومات حول الشبكة الفرعية التي تم إفساد الاستعلام الأصلي منها في طلب DNS إلى خادم DNS موثوق (البيانات حول الشبكة الفرعية لمصدر العميل ضرورية للتشغيل الفعال لشبكات توصيل المحتوى). يضيف الإصدار الجديد إعدادات للتحكم الانتقائي في استخدام الشبكة الفرعية للعميل EDNS: «ecs-add-for»مع قائمة بأقنعة الشبكات التي سيتم استخدام IP لها في ECS في الطلبات الصادرة. بالنسبة إلى العناوين التي لا تتطابق مع الأقنعة المحددة ، فإن العنوان العام المحدد في "ECS-النطاق-صفر-العنوان". من خلال التوجيهاستخدام الشبكة الفرعية- الواردة- الواردة- edns»يمكنك تحديد الشبكات الفرعية والطلبات الواردة بقيم ECS المملوءة والتي لن يتم استبدالها ؛
  • بالنسبة للخوادم التي تعالج عددًا كبيرًا من الطلبات في الثانية (أكثر من 100 ألف) ، فإن التوجيه "خيوط الموزع"، والذي يحدد عدد سلاسل الرسائل لقبول الطلبات الواردة وتوزيعها على سلاسل رسائل العاملين (يكون ذلك منطقيًا فقط عند استخدام"pdns-Distributes-queries = نعم').
  • الإعداد المضافة ملف قائمة لاحقة عامة لتحديد الملف الخاص بك مع قائمة اللواحق العامة المجالات حيث يمكن للمستخدمين تسجيل نطاقاتهم الفرعية بدلاً من قائمة PowerDNS Recursor المضمنة.

أعلن مشروع PowerDNS أيضًا عن دورة تطوير مدتها ستة أشهر ، مع توقع الإصدار الرئيسي التالي من PowerDNS Recursor 4.3 في يناير 2020. سيتم طرح تحديثات الإصدارات الرئيسية على مدار عام ، تليها ستة أشهر أخرى لإصلاحات الثغرات الأمنية. وبالتالي ، سيستمر دعم فرع PowerDNS Recursor 4.2 حتى يناير 2021. تم اعتماد تغييرات دورة تطوير مماثلة لمنتج PowerDNS Authoritative Server ، والذي من المتوقع إصداره 4.2 قريبًا.

الملامح الرئيسية لبرنامج PowerDNS Recursor:

  • أدوات لجمع الإحصاءات عن بعد ؛
  • إعادة التشغيل الفوري
  • محرك مدمج لتوصيل المعالجات بلغة Lua ؛
  • دعم كامل لـ DNSSEC و DNS64;
  • دعم RPZ (مناطق سياسة الاستجابة) والقدرة على تحديد القوائم السوداء ؛
  • آليات مكافحة الانتحال ؛
  • القدرة على كتابة النتائج التحليلية كملفات منطقة BIND.
  • لضمان الأداء العالي ، يتم استخدام آليات تعدد إرسال اتصال حديثة في FreeBSD و Linux و Solaris (kqueue ، epoll ، / dev / poll) ، بالإضافة إلى محلل حزم DNS عالي الأداء قادر على معالجة عشرات الآلاف من الطلبات المتوازية.

المصدر: opennet.ru

إضافة تعليق