هل فُقدت شهادة العميل؟ أبطِل بالرقم التسلسلي لا بالاسم
غياب ملف الشهادة ليس غيابًا للسجل. الإبطال يعمل على الرقم التسلسلي الذي وقّعته CA، فاعثر على ذلك الكائن قبل إصدار بديل.
اختفى ملف شهادة عميلك، والردّ الفوري هو إبطال الاسم وإصدار شهادة جديدة. هذا الردّ يُبقي الشهادة الأصلية صالحة، لأن الإبطال يعمل على رقم تسلسلي لا على تسمية. من شبه المؤكد أن CA ما زالت تحتفظ بنسخة مما أصدرته، والعثور على تلك النسخة هو المهمة كلها.
فقدان ملف لا يعني فقدان سجل CA
تحتفظ بنية Easy-RSA PKI بالشهادات العامة التي أصدرتها، كما أن الإصدارات الحالية تؤرشف نسخًا حسب الرقم التسلسلي في دليل certs_by_serial داخل PKI. لا حاجة إلى المفتاح الخاص لإبطال أي شيء. المهم هو الشهادة الدقيقة التي وقّعتها CA، وهي بحوزة CA بالفعل.
اعمل على نسخة احتياطية من PKI الصحيحة، مع المسؤول الذي يملكها. الإبطال عملية قابلة للتدقيق لا إصلاح يُجرى على قاعدة بيانات إنتاج في منتصف الليل.
نسخة من الشهادة العامة المضمّنة للعميل تفي بالغرض أيضًا، إن احتفظ النشر بإحداها.
اقرأ المُصدِر والرقم التسلسلي قبل أي شيء آخر
افحص ملف PEM المستعاد واكتب المُصدِر والرقم التسلسلي والموضوع ونافذة الصلاحية. الرقم التسلسلي فريد داخل نطاق مُصدِر واحد، لا عبر كل CA في بيئتك، لذا فإن المُصدِر جزء من الهوية. وإذا تشاركت عدة شهادات موضوعًا واحدًا، فالرقم التسلسلي هو ما يميزها.
طابِق القيم مع سجلات CA ومع الجهاز أو الشخص الذي تعتقد أنه يحمل الشهادة.
يمكن إعادة استخدام الاسم الشائع، وهذا ما يحدث عادة. لا تقرر أي الشهادات تسحب قبل كتابة الأرقام التسلسلية.
لماذا لا يفعل إبطال الشهادة الجديدة شيئًا
إصدار بديل بالاسم الشائع نفسه ينشئ شهادة ثانية برقم تسلسلي مختلف. إبطال البديل يسحب الشهادة الجديدة ويُبقي الأصلية صالحة حتى انتهائها. من وجهة نظر CA هذان كائنان مستقلان، وقائمة CRL تسرد أرقامًا تسلسلية لا أسماء. ولهذا السبب تحديدًا يحتفظ فهرس CA بصف واحد لكل شهادة صادرة.
يُنتج الالتباس نفسه الخطأ المعاكس: حذف ملف العميل والافتراض بأن CA نسيته. الحذف على العميل ليس حدث إبطال، وتظل الشهادة تعمل لأي شخص يملك نسخة.
الخطأان كلاهما نتاج معاملة الاسم كهوية.
أبطِل الشهادة التي يسمّيها الرقم التسلسلي
حدِّد الكائن قبل أن تمسّ CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates يطبع القيم الأربع في تمريرة واحدة، والرقم التسلسلي هو ما تطابقه مع أرشيف CA. تحتفظ Easy-RSA بذلك الأرشيف تحت pki/certs_by_serial، بملف واحد لكل رقم تسلسلي. أمر الإبطال يأخذ اسمًا شائعًا لا رقمًا تسلسليًا، لذا انسخ الملف المؤرشف إلى pki/issued/<common-name>.crt ودع الاسم يشير إلى الكائن الذي حددته. شغّل easyrsa revoke <common-name> من دليل PKI، ثم تحقق من أن الصف المطابق في index.txt قد تحول إلى R. الرقم التسلسلي هو وسيلة اختيار الكائن، وليس وسيطًا يقبله الأمر.
openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl
إذا لم يُظهر index.txt الرمز R، فتوقف واقرأ الخطأ قبل توليد CRL، لأن CRL مبنيًا على سجل ما زال صالحًا لا يسحب شيئًا. بعد تحول الصف فقط تشغّل easyrsa gen-crl وتنتقل إلى توزيع الملف.
انشر CRL حيث يُفرَض فعلًا
ولّد CRL جديدًا عبر سير العمل المدعوم في PKI، ثم انشره إلى كل مُتحقِّق يفرض إبطالات هذا المُصدِر.
ملف محدَّث موجود على CA لا يغيّر شيئًا، لأن VPN يُنهي القرار عند مُتحقِّقه الخاص. تحقق من مُصدِر CRL ومن فترة صلاحيته ومن الأرقام التسلسلية الملغاة، وأكّد أن الخدمة تُعيد تحميل الملف بدلًا من تخزين السابق مؤقتًا. الملكية والمسار لا يقلان أهمية عن المحتوى: CRL لا يستطيع البرنامج الخفي قراءته لا يختلف عن غياب CRL أصلًا. خيار crl-verify في OpenVPN يسمّي الملف الذي يقرأه البرنامج الخفي، لذا تحقق من ذلك المسار ومن ملكية الملف في إعداد الخادم.
تحقق بمحاولة اتصال حقيقية، لا بطابع زمني للملف.
اعرف متى يكون CRL الأداة الخاطئة
إذا لم يعد المفتاح الخاص للمُصدِر موثوقًا، فسحب أرقام تسلسلية معروفة لا يمنع حائزًا غير مصرَّح له من توقيع شهادات جديدة. هذا انتقال في ثقة المُصدِر، أي CA جديدة وخطة توزيع، لا إدخال آخر في CRL. مجرد وصول مسؤول سابق لا يُعد دليلًا بحد ذاته على إساءة استخدام المفتاح، فاحصل على الحقائق قبل إعادة بناء الثقة.
تعديل قاعدة بيانات الإصدار يدويًا لقلب حرف حالة ليس بديلًا عن إبطال موقَّع، ويترك CRL غير متسق مع السجلات.
احتفظ بالرقم التسلسلي وCRL وخطوة التوزيع في ملاحظة واحدة، فيصبح التدقيق التالي قراءة. مشروع Easy-RSA يوثّق الأوامر المدعومة للإصدار المثبَّت لديك، وهو الواجهة الوحيدة الجديرة بالاتباع.