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

ثلاثة شروط تحدد شكل التجديد

الشروط الثلاثة هي: هل يثبّت أي شيء الشهادة الطرفية، وهل تتغير السلسلة، ومن غيرك يتحقق من الاسم. أجب عن هذه الأسئلة من جهة العميل لا من منطلق ملاءمة CA، لأن العميل هو ما يفشل في الثالثة صباحًا.

ابدأ بفحص الشهادة التي لديك. openssl x509 -in server.crt -noout -subject -issuer -dates -ext subjectAltName يطبع الموضوع، وجهة الإصدار، ونافذة الصلاحية، والأسماء التي تكون الشهادة صالحة لها فعليًا. الحقل الأخير هو الأهم والأكثر افتراضًا: طلب تجديد يحذف SAN يعتمد عليه العميل ينتج شهادة صالحة تقنيًا وخاطئة وظيفيًا. انسخ قائمة SAN من الشهادة القديمة إلى الطلب بدلًا من إعادة كتابتها من الذاكرة.

الشرط الأول: هل يثبّت أي شيء الشهادة الطرفية

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

اعرف في أي حالة أنت قبل أن تطلب أي شيء. التثبيت الذي لم يوثقه أحد يظل تثبيتًا عندما ينكسر.

الشرط الثاني: قارن التثبيتات والسلسلة

تجعل البصمات التثبيت قابلًا للفحص: openssl x509 -noout -fingerprint -sha256 -in server.crt على الشهادة القديمة والجديدة، و openssl x509 -noout -pubkey لمقارنة المفاتيح العامة. إذا كانت إعدادات العميل أو ملف تعريف جوّال أو مخزن ثقة جهاز يحتوي على أي من القيمتين، فلديك تثبيت. ملفات تعريف VPN للجوّال مخبأ شائع، لأن الملف يُوزَّع مرة واحدة ولا يُفحص بعدها أبدًا.

إذا جاء البديل من الوسيط نفسه وكان العميل يملك ذلك الوسيط أو يستطيع جلبه، فلا يتغير شيء في جانب الثقة. الوسيط الجديد أو جهة إصدار مختلفة أو سلسلة تُسلَّم بترتيب خاطئ كلها تحوّل التجديد إلى تغيير ثقة، ويبدو الفشل كجهة إصدار غير معروفة لا كشهادة منتهية الصلاحية.

افحص السلسلة التي يرسلها الخادم فعليًا باستخدام openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts، وتحقق منها محليًا باستخدام openssl verify -CAfile ca.pem -untrusted chain.pem server.crt. القيام بذلك قبل التغيير يمنحك خط أساس للمقارنة بعده.

الشرط الثالث: من غيرك يتحقق من الاسم

يمكن لموحّد VPN أو موازن حمل أو مسبار مراقبة أو تكامل RADIUS أو SAML أو ملف تعريف جوّال أن يحتفظ كل منها بنسخته الخاصة من الاسم المتوقع أو مرساة الثقة. التجديد هو لحظة تباعد تلك النسخ، لأن الشهادة تتغير والنسخ لا تتغير.

اسرد كل مستهلك قبل التغيير وقرر لكل واحد ما إذا كان يحتاج إلى تحديث. الذي تنساه هو الذي يناديك في جهاز النداء.

هناك أيضًا فخ توقيت. افحص بداية الصلاحية إضافة إلى تاريخ الانتهاء، لأن الشهادة المهيأة للتفعيل لاحقًا تُرفض إذا ثُبِّتت مبكرًا جدًا، ويبدو الخطأ كمشكلة ساعة لا كمشكلة تهيئة. openssl x509 -noout -dates على الملف الجديد قبل نشره فحص يستغرق ثانيتين. احتفظ أيضًا بمسار استرداد مدعوم والإعداد المعروف أنه جيد، حتى يكون تجديد يسير بشكل خاطئ قابلًا للعكس باستعادة الشهادة والمفتاح السابقين.

انشر، وتحقق بمصادقة جديدة، ثم اسحب

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

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

لا تسحب المواد القديمة إلا بعد التحقق من النشر، وعامل المفتاح المخترق كحالة مختلفة تمامًا: التجديد وحده لا يبطل أي شيء، لذا تحتاج الهوية المتأثرة إلى عملية الإبطال ومعالجة الجلسات الخاصة بالنشر. RFC 5280 يحدد قواعد الشهادة والتحقق من المسار الكامنة وراء كل هذا. أبقِ تجديد الشهادة الطرفية الروتيني منفصلًا عن استبدال CA، حتى لا يُطلب من العملاء الوثوق بجهة إصدار جديدة بلا سبب.

مقالات ذات صلة