بشكل افتراضي، يستخدم Let’s Encrypt اختبار HTTP-01 للتحقق من الملكية. يضع تحدي HTTP-01 ملفًا على Webroot لخادم الويب الخاص بك ويستخدم اسم DNS لخادم الويب لجلب الملف. إذا كان من الممكن جلب الملف من الإنترنت، يتم التحقق من صلاحية اسم النطاق ويتم إصدار شهادة SSL. يعد هذا أمرًا جيدًا لمعظم الخوادم والمستخدمين المنزليين الذين يمكنهم شراء عنوان IP عام من مزود خدمة الإنترنت (ISP) الخاص بهم.
ولكن، ماذا لو كنت تريد استخدام شهادات Let’s Encrypt SSL لأسماء النطاقات الخاصة بشبكتك المنزلية أو شبكتك الخاصة/الداخلية؟ حسنًا، في معظم الشبكات المنزلية، يمثل الحصول على شهادة Let's Encrypt SSL تحديًا لأنه على الأرجح لن يمنحك مزود خدمة الإنترنت عنوان IP عام. لذلك، لن تتمكن من اجتياز تحدي Let's Encrypt HTTP-01 (حيث لا يمكن الوصول إلى أجهزة الكمبيوتر/الخوادم الخاصة بك من الإنترنت).
في هذه الحالة، يمكنك استخدام تحدي Let's Encrypt DNS-01 للحصول على شهادات SSL لشبكتك المنزلية/الداخلية. في هذه الطريقة، يضيف Let's Encrypt سجل DNS TXT للنطاق الفرعي '_acme-challenge.yourdomain.xyz' على خادم DNS الخاص بك ويتحقق مما إذا كان سجل DNS TXT متاحًا من الإنترنت. إذا كان سجل TXT متطابقًا، فسيتم التحقق من أنك مالك النطاق وستقوم Let's Encrypt بإصدار شهادة SSL.
لكي يعمل تحدي Let's Encrypt DNS-01 وتجديد شهادة SSL تلقائيًا، يجب عليك استخدام موفر خدمة DNS (مثل CloudFlare، DigitalOcean) الذي يعرض واجهة برمجة التطبيقات (API) التي يمكن استخدامها لإضافة/إزالة سجلات TXT على خادم DNS.
إذا لم يكن لدى مسجل DNS الخاص بك (حيث قمت بتسجيل اسم المجال) دعمًا لمثل هذه الخدمات، فيمكنك استخدام موفر خدمة DNS لجهة خارجية. كل ما عليك فعله هو تغيير عنوان خادم أسماء DNS الخاص بنطاقك من خادم DNS الخاص بمسجل DNS الخاص بك إلى عنوان خادم أسماء DNS الخاص بموفر خدمة DNS التابع لجهة خارجية المطلوب.
موضوع المحتويات:
- قائمة موفري DNS الذين يتكاملون بسهولة مع Let’s Encrypt DNS Validation
- قائمة دعونا نقوم بتشفير عملاء ACME
- تغيير خادم أسماء DNS من مسجل المجال الخاص بك
- مزايا دعونا نقوم بتشفير التحقق من صحة DNS-01
- مساوئ دعونا نقوم بتشفير التحقق من صحة DNS-01
- خاتمة
- مراجع
قائمة موفري DNS الذين يتكاملون بسهولة مع Let’s Encrypt DNS Validation
قام مجتمع Let's Encrypt بتجميع أ قائمة موفري DNS التي تعرض نوعًا ما من واجهة برمجة التطبيقات (API) لإضافة/إزالة سجلات DNS تلقائيًا حتى يتمكن عملاء Let's Encrypt من التحقق من صحة أسماء النطاقات وإصدار شهادات SSL.
يمكن العثور على قائمة موفري DNS الذين يتكاملون بسهولة مع التحقق من صحة DNS من Let’s Encrypt على هذا الرابط .
قائمة دعونا نقوم بتشفير عملاء ACME
يُطلق على عملاء Let's Encrypt أيضًا اسم عملاء ACME. يعنيACME بيئة إدارة الشهادات التلقائية. ACME هو بروتوكول لأتمتة التفاعل بين الكمبيوتر/الخادم والمرجع المصدق (أي Let’s Encrypt).
أشهر عملاء Let’s Encrypt ACME هم:
تغيير خادم أسماء DNS من مسجل المجال الخاص بك
إذا لم يكن مسجل النطاق الخاص بك مدرجًا في قائمة موفري DNS الذين يتكاملون بسهولة مع Let's Encrypt، فيمكنك استخدام CloudFlare أو موفري خدمة DNS الآخرين. كل ما عليك فعله هو تغيير خادم أسماء DNS الخاص بنطاقك من لوحة التحكم الخاصة بمسجل النطاق الخاص بك إلى خادم أسماء DNS الخاص بموفر خدمة DNS التابع لجهة خارجية والذي تريد استخدامه.
لقد أظهرنا لك عملية تغيير خادم أسماء DNS (إلى خادم DNS الخاص بـ CloudFlare) لأحد نطاقاتنا من لوحة المعلومات/موقع الويب الخاص بمسجل النطاق لدينا (حيث سجلنا اسم المجال الخاص بنا) في لقطة الشاشة التالية. يجب أن تكون العملية مماثلة لمسجل النطاق الخاص بك. لمزيد من المعلومات، اقرأ وثائق مسجل النطاق الخاص بك أو اتصل به.
مزايا دعونا نقوم بتشفير التحقق من صحة DNS-01
تتمثل مزايا التحقق من صحة DNS-01 في Let's Encrypt في ما يلي:
- ولا يتطلب عنوان IP عام/يمكن الوصول إليه عبر الإنترنت أو خادم ويب.
- يمكنك استخدامه لإصدار شهادات SSL لأسماء نطاقات البدل (مثل *.nodekite.com، *.linuxhint.com).
- إنه يعمل بشكل جيد مع خوادم الويب المتعددة.
مساوئ دعونا نقوم بتشفير التحقق من صحة DNS-01
على الرغم من أن هناك العديد من المزايا للتحقق من صحة Let's Encrypt DNS-01، إلا أن هناك أيضًا بعض العيوب:
- لكي يعمل التحقق من صحة DNS-01، تحتاج إلى الاحتفاظ بمفتاح/رمز API الخاص بموفر خدمة DNS الخاص بك على الخادم الذي سيستخدمه عميل Let's Encrypt لإنشاء سجل TXT على خادم DNS للتحقق من صحة DNS-01. نظرًا لأنه يتم الاحتفاظ بمفتاح/رمز واجهة برمجة التطبيقات على الخادم، إذا تم اختراق الخادم، فمن المحتمل أن يتم اختراق مفتاح/رمز واجهة برمجة التطبيقات.
- بعد أن يضيف عميل Let’s Encrypt سجل TXT على خادم DNS، يستغرق الأمر بعض الوقت لنشر التغييرات إلى خوادم أسماء DNS الأخرى في جميع أنحاء العالم. يحتاج عميل Let's Encrypt إلى الانتظار حتى يتم نشر التغييرات إلى خوادم أسماء DNS الشائعة في جميع أنحاء العالم للتحقق من ملكية المجال. إذا لم يوفر موفر خدمة DNS الخاص بك وقت نشر DNS في واجهة برمجة التطبيقات، فلن يعرف عميل Let's Encrypt مدة الانتظار حتى يتم نشر تغييرات DNS إلى خوادم الأسماء الأخرى في جميع أنحاء العالم. في هذه الحالة، قد تنتهي مهلة التحقق من صحة DNS، وقد يفشل Let's Encrypt في إصدار شهادة SSL.
خاتمة
في هذه المقالة، ناقشنا تحدي Let's Encrypt DNS-01 وسبب استخدامه بدلاً من اختبار HTTP-01 الافتراضي للتحقق من ملكية اسم المجال. ناقشنا أيضًا متطلبات اجتياز تحدي Let’s Encrypt DNS-01 للحصول على شهادة Let’s Encrypt SSL. لقد قمنا بإدراج موفري خدمة DNS الذين يتكاملون بشكل جيد مع Let’s Encrypt بالإضافة إلى عملاء Let’s Encrypt ACME الذين يمكنك استخدامهم لإجراء التحقق من صحة DNS من جهاز الكمبيوتر/الخادم الخاص بك. أخيرًا، ناقشنا مزايا وعيوب التحقق من صحة Let's Encrypt DNS.
مراجع:
- أنواع التحدي – دعونا نقوم بالتشفير
- موفرو DNS الذين يتكاملون بسهولة مع التحقق من صحة DNS من Let's Encrypt - تقنية الإصدار - دعم مجتمع Let's Encrypt
- بيئة إدارة الشهادات التلقائية – ويكيبيديا
- سيرتبوت
- GitHub - acmesh-official/acme.sh: برنامج نصي خالص لنظام Unix يطبق بروتوكول عميل ACME
- التثبيت :: Let’s Encrypt Client ومكتبة ACME المكتوبة بلغة Go.
- الصفحة الرئيسية – فاخر-ACME