DNSSEC: مصادقة استجابات DNS
تعلّم كيف يستخدم DNSSEC التوقيعات الرقمية لحماية DNS من هجمات الانتحال وتسميم ذاكرة التخزين المؤقت
DNSSEC: مصادقة استجابات DNS درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
تسميم ذاكرة DNS المؤقتة: هجوم Kaminsky
في عام 2008، كشف الباحث Dan Kaminsky عن هجوم خطير يستهدف محللات DNS. استغل الهجوم حقل معرّف المعاملة ذي الحجم الصغير، وهو 16 بت، في استجابات DNS. ومن خلال إغراق محلل DNS باستجابات مزورة تتضمن معرّفات معاملات عشوائية، كان بإمكان المهاجم أن ينجح إحصائيًا في مطابقة معرّف المعاملة الشرعي قبل وصول الاستجابة الحقيقية. وتعيد ذاكرة التخزين المؤقت المسمومة توجيه جميع مستخدمي ذلك المحلل إلى خوادم يتحكم فيها المهاجم لأسابيع، حتى تنتهي صلاحية الإدخالات المخزنة مؤقتًا.
ما الذي يضيفه DNSSEC إلى DNS
يضيف DNSSEC (امتدادات أمان DNS) مصادقة تشفيرية إلى استجابات DNS. ويرافق كل مجموعة سجلات DNS في منطقة موقعة باستخدام DNSSEC توقيع رقمي. ويتحقق المحللون الذين يدعمون التحقق من صحة هذه التوقيعات قبل قبول السجلات. وتكون للاستجابة المزورة أو المعدلة توقيع غير صالح، فيُرفض قبولها. ويحمي DNSSEC من تسميم ذاكرة التخزين المؤقت وتزوير الاستجابات، لكنه لا يشفّر استعلامات DNS.
مفتاح توقيع المنطقة ومفتاح توقيع المفاتيح
يستخدم DNSSEC تسلسلًا هرميًا من مفتاحين لكل منطقة. ويُستخدم مفتاح توقيع المنطقة (ZSK) لتوقيع مجموعات سجلات DNS الفردية في العمليات اليومية. أما مفتاح توقيع المفاتيح (KSK) فلا يوقّع إلا مجموعة سجلات DNSKEY، التي تحتوي على المفتاحين العامين لكل من ZSK وKSK. ويمكن تدوير ZSK بوتيرة متكررة، مثلًا شهريًا، بينما يتغير KSK بوتيرة أقل، مثلًا سنويًا، لأن تجزئة KSK يجب تسجيلها في المنطقة الأصلية ولأن عملية التدوير معقدة من الناحية التشغيلية.
RRSIG: توقيعات سجلات الموارد
لكل مجموعة سجلات DNS موقعة، وتسمى RRset، سجل RRSIG مناظر يحتوي على التوقيع التشفيري الخاص بمجموعة السجلات تلك. عندما يطلب محلل DNS سجل DNS، تتضمن الاستجابة السجل وRRSIG الخاص به. ويتحقق المحلل من RRSIG باستخدام المفتاح العام للمنطقة. ويغطي التوقيع محتوى السجل ونوعه وفئته ووقت انتهاء صلاحيته، مما يمنع تعديل التوقيعات القديمة الصالحة وإعادة استخدامها.
سجلات DS: ربط المناطق الأصلية والفرعية
تُبنى سلسلة الثقة في DNSSEC من خلال سجلات Delegation Signer (DS). عندما تفوّض منطقةٌ إلى منطقة فرعية، تنشر المنطقة الأصلية سجل DS يحتوي على تجزئة KSK الخاص بالمنطقة الفرعية. ويستطيع المحلل الذي يثق بالمنطقة الأصلية التحقق من أن تجزئة KSK للمنطقة الفرعية تطابق سجل DS، وبذلك يثبت الثقة في توقيعات المنطقة الفرعية. وتمتد هذه السلسلة من منطقة جذر DNS، مرورًا بنطاقات المستوى الأعلى، وصولًا إلى مناطق النطاقات الفردية.
سجل DNSKEY: نشر المفتاح العام للمنطقة
تنشر كل منطقة موقعة باستخدام DNSSEC مفاتيح التوقيع العامة الخاصة بها في سجلات DNSKEY. وعادةً ما يكون هناك سجلان من نوع DNSKEY: أحدهما لـ ZSK والآخر لـ KSK. وتُسجَّل تجزئة المفتاح العام لـ KSK كسجل DS في المنطقة الأصلية، مما يربط ثقة المنطقة بالمنطقة الأصلية. وتكون تجزئة KSK الخاصة بمنطقة الجذر مضمّنة مسبقًا في المحللات التي تتحقق من الصحة بوصفها مرساة الثقة النهائية، وتسمى Root Zone Trust Anchor.
سلسلة الثقة من الجذر إلى الورقة
يبدأ التحقق من DNSSEC عند منطقة الجذر، التي تكون مرساة الثقة KSK الخاصة بها مضمّنة مسبقًا في المحللات. ويُستخدم DNSKEY الخاص بمنطقة الجذر للتحقق من RRSIG الخاص بها، الذي يصادق على سجلات DS لنطاقات المستوى الأعلى مثل .com. ويتحقق DNSKEY الخاص بمنطقة .com من RRSIG الخاص بسجلات DS للنطاقات الفردية. وتمتد سلسلة التحقق التشفيري هذه من الجذر إلى النطاق المطلوب، مما يضمن مصادقة كل حلقة فيها.
التحقق من DNSSEC في المحللات
عندما يتلقى محلل يتحقق من DNSSEC استجابةً، فإنه ينفذ عملية التحقق الكاملة من سلسلة الثقة. فهو يسترد سجلات DNSKEY، ويتحقق من توقيعات RRSIG، ويتتبع سجلات DS صعودًا حتى مرساة الجذر، ويفحص أوقات انتهاء صلاحية التوقيعات. وإذا فشل التحقق، يعيد المحلل خطأ SERVFAIL بدلًا من السجلات التي يحتمل أن تكون مزورة. وينفذ معظم المحللات العامة الكبرى، بما في ذلك Cloudflare's 1.1.1.1 وGoogle's 8.8.8.8، عملية التحقق من DNSSEC.
تحديات نشر DNSSEC
كان نشر DNSSEC بطيئًا رغم فوائده الأمنية. ويتطلب تدوير المفاتيح تنسيقًا بين مشغلي المناطق وسجلات المناطق الأصلية. وقد يؤدي خطأ أثناء تدوير KSK إلى جعل المنطقة بأكملها غير قابلة للوصول. وتطلب تدوير KSK لمنطقة الجذر لدى ICANN في عام 2019 سنوات من الاستعداد. كما يزداد حجم المنطقة بدرجة ملحوظة بسبب التوقيعات. ويجب على المشغلين تنفيذ تدوير المفاتيح والرصد آليًا. وقد دفعت هذه التعقيدات التشغيلية كثيرًا من مشغلي النطاقات الأصغر إلى تجنب DNSSEC.
DNSSEC لا يشفّر حركة مرور DNS
من المفاهيم الخاطئة الشائعة أن DNSSEC يوفر الخصوصية لاستعلامات DNS. لكنه لا يفعل ذلك. إذ يقتصر DNSSEC على مصادقة الاستجابات؛ ولا تزال الاستعلامات والاستجابات تنتقل في صورة حزم UDP نصية عادية عبر المنفذ 53. لذلك يستطيع أي شخص يراقب الشبكة رؤية كل اسم نطاق جرى الاستعلام عنه. ويوفر DNS-over-TLS (DoT) وDNS-over-HTTPS (DoH) خصوصية الاستعلامات من خلال تشفير حركة مرور DNS. ويكمل DNSSEC وDoH/DoT أحدهما الآخر: إذ يوفر الأول الأصالة، بينما يوفر الآخر السرية.
DNSSEC في العالم الفعلي
اعتبارًا من عام 2024، كانت نسبة 90 بالمئة تقريبًا من منطقة جذر DNS ونطاقات المستوى الأعلى الرئيسية موقعة باستخدام DNSSEC. ومع ذلك، لم تكن موقعة سوى نسبة تتراوح بين 20 و30 بالمئة تقريبًا من أسماء النطاقات الفردية. كما يختلف تبني المتصفحات والتطبيقات للتحقق من DNSSEC. وتكون الفائدة الأمنية لـ DNSSEC أكبر عند دمجه مع DANE (المصادقة القائمة على DNS للكيانات المسماة)، الذي يستخدم DNSSEC لنشر بصمات شهادات TLS، ويتيح للعملاء التحقق من الشهادات دون الاعتماد فقط على سلطات الشهادات.
سلسلة ثقة DNSSEC
كيف ينشئ محلل يتحقق من DNSSEC الثقة في سجلات DNS الخاصة بنطاق، بدءًا من الصفر؟
أهم النقاط حول DNSSEC
يضيف DNSSEC توقيعات تشفيرية إلى استجابات DNS لمنع تسميم ذاكرة التخزين المؤقت وتزوير الاستجابات. وتوقّع ZSKs مجموعات السجلات، بينما توقّع KSKs سجلات DNSKEY، وتربط سجلات DS الثقة بين المناطق الأصلية والفرعية. ويبدأ التحقق من Root Zone Trust Anchor المضمّنة مسبقًا. ولا يشفّر DNSSEC حركة مرور DNS؛ إذ يوفر DoH وDoT الخصوصية، بينما يوفر DNSSEC الأصالة. وقد أدى التعقيد التشغيلي، بما في ذلك تدوير المفاتيح، إلى إبطاء التبني الواسع.
الأسئلة الشائعة
هل درس «DNSSEC: مصادقة استجابات DNS» مجاني؟
نعم — نص درس «DNSSEC: مصادقة استجابات DNS» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «DNSSEC: مصادقة استجابات DNS»؟
تعلّم كيف يستخدم DNSSEC التوقيعات الرقمية لحماية DNS من هجمات الانتحال وتسميم ذاكرة التخزين المؤقت تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «DNSSEC: مصادقة استجابات DNS»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما الذي يجعل البروتوكول آمنًا؟
- SSH: تأمين الوصول عن بُعد
- SFTP وSCP: نقل الملفات بأمان
- DNSSEC: مصادقة استجابات DNS