ما هو DNSSEC؟
DNSSEC (امتدادات أمان نظام أسماء النطاقات) مجموعة من الامتدادات التشفيرية لبروتوكول DNS، تصادق على إجابات DNS بإضافة توقيعات رقمية إلى السجلات، وتمنع المهاجمين من تزوير بيانات DNS أو العبث بها.كيف يعمل DNSSEC؟
Chain of Trust:
Root Zone (.)
├── Signs: .com zone key
│ └── KSK (Key Signing Key)
│ └── ZSK (Zone Signing Key)
│
TLD Zone (.com)
├── Signs: example.com zone key
│ └── DS Record points to child KSK
│
Domain Zone (example.com)
├── Signs: All DNS records
│ └── RRSIG (Record Signature)
│ └── DNSKEY (Public keys)
│
Resolver validates entire chain from root
أنواع سجلات DNSSEC
| السجل | الغرض | الوصف |
|---|---|---|
| RRSIG | التوقيع | توقيع تشفيري لكل مجموعة سجلات |
| DNSKEY | المفتاح العام | مفاتيح التوقيع العامة للمنطقة (KSK وZSK) |
| DS | مُوقِّع التفويض | تجزئة مفتاح KSK للمنطقة الابنة في المنطقة الأب |
| NSEC/NSEC3 | نفي موثَّق | يثبت أن سجلاً ما غير موجود |
أنواع المفاتيح
| المفتاح | الغرض | وتيرة التدوير |
|---|---|---|
| KSK (مفتاح توقيع المفاتيح) | يوقّع سجلات DNSKEY | سنوياً أو أقل |
| ZSK (مفتاح توقيع المنطقة) | يوقّع جميع السجلات الأخرى | شهرياً إلى ربع سنوي |
عملية التحقق من DNSSEC
1. يستعلم العميل من محلل DNS عن سجل A للنطاق example.com.
2. يسترجع المحلل سجل A مع توقيع RRSIG.
3. يجلب المحلل سجل DNSKEY للتحقق من RRSIG.
4. يتحقق المحلل من سجل DS مقابل DNSKEY.
5. تمتد السلسلة إلى الجذر مع التحقق من كل مستوى.
6. إذا كانت كل التوقيعات صالحة، تكون الإجابة موثَّقة.
التهديدات التي يمنعها DNSSEC
| الهجوم | الوصف | حماية DNSSEC |
|---|---|---|
| تسميم الذاكرة المؤقتة | حقن سجلات مزيفة في الذاكرة المؤقتة | تكشف التوقيعات العبث |
| الوسيط بين الطرفين | اعتراض الإجابات وتعديلها | يفشل التحقق التشفيري |
| انتحال DNS | إعادة عناوين IP مزيفة | تفتقر السجلات المزورة إلى توقيع صالح |
اعتبارات التنفيذ
- الأداء: تكون الإجابات أكبر بسبب التوقيعات (نحو 1000-4000 بايت مقابل نحو 100 بايت).
- إدارة المفاتيح: تتطلب إنشاء المفاتيح وتخزينها وتدويرها بأمان.
- توقيع المنطقة: يجب إعادة توقيع المنطقة عند تغيير السجلات.
- دعم المحللات: يحتاج العملاء إلى محللات تتحقق من DNSSEC.
أفضل الممارسات
1. استخدم الخوارزمية 13 أو 14: تقدم ECDSA توقيعات أصغر من RSA.
2. أتمت تدوير المفاتيح: استخدم أدوات مثل OpenDNSSEC لإدارة دورة حياة المفاتيح.
3. راقب الانتهاء: لتوقيعات RRSIG فترات صلاحية محددة.
4. اختبر قبل النشر: تحقق من المنطقة بأدوات مثل dnsviz.net.
5. خطط للطوارئ: وثّق إجراءات تدوير المفاتيح.
يوفر DNSSEC حماية أساسية لسلامة DNS، ويضمن وصول المستخدمين إلى وجهات شرعية بدلاً من خوادم يسيطر عليها المهاجمون.