المقدمة
يوضح هذا المستند كيفية أستكشاف أخطاء إستيراد مرجع الشهادات (CA) وإصلاحها على أجهزة الدفاع عن تهديد FirePOWER التي تديرها FMC.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- البنية الأساسية للمفتاح العام (PKI)
- مركز إدارة Firepower (FMC)
- Firepower Threat Defense (FTD)
- OpenSSL
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- MacOS X 10.14.6
- FMC 6.4
- OpenSSL
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
ملاحظة: في الأجهزة التي تتم إدارتها بواسطة FTD، يلزم توفر شهادة CA قبل إنشاء طلب توقيع الشهادة (CSR).
- إذا تم إنشاء CSR في خادم خارجي (مثل Windows Server أو OpenSSL)، فيقصد من طريقة التسجيل اليدوية الفشل، نظرا لأن FTD لا يدعم تسجيل المفتاح اليدوي. يجب إستخدام أسلوب مختلف مثل PKCS12.
المشكلة
في هذا السيناريو تحديدا، تعرض FMC صليبا أحمر في حالة شهادة CA (كما هو موضح في الصورة)، والذي يشير إلى أن تسجيل الشهادة فشل في تثبيت شهادة CA مع رسالة: "فشل في تكوين شهادة CA." يظهر هذا الخطأ بشكل عام عندما لا يتم حزم الشهادة بشكل صحيح أو عندما لا يحتوي ملف PKCS12 على شهادة المصدر الصحيحة كما هو موضح في الصورة.
ملاحظة: في الإصدارات الأحدث من FMC، تم معالجة هذه المشكلة لمطابقة سلوك ASA الذي يؤدي إلى إنشاء نقطة ثقة إضافية مع المرجع المصدق الجذري المضمن في سلسلة الثقة الخاصة بالمرجع المصدق.
الحل
الخطوة 1. حدد مكان شهادة .pfx
احصل على شهادة PFX التي تم تسجيلها في واجهة المستخدم الرسومية (GUI) ل FMC، واحفظها وحدد موقع الملف في Mac Terminal (CLI).
ls
الخطوة 2. إستخراج الشهادات والمفتاح من ملف .pfx
قم باستخراج شهادة العميل (وليس شهادات CA) من ملف PFX (عبارة المرور التي تم إستخدامها لإنشاء ملف .pfx مطلوبة).
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem
تصدير الهوية
إستخراج شهادات CA (وليس شهادات العميل).
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem
تصدير cacerts
استخرج المفتاح الخاص من ملف PFX (مطلوب نفس عبارة المرور من الخطوة 2).
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
التصدير الرئيسي
توجد الآن أربعة ملفات: cert.pfx (حزمة PFX الأصلية)، certs.pem (شهادات CA)، id.pem (شهادة عميل)، و key.pem (المفتاح الخاص).
ls بعد التصدير
الخطوة 3. التحقق من الشهادات في محرر نصي
تحقق من الشهادات باستخدام محرر نصي (على سبيل المثال: nano certs.pem).
بالنسبة لهذا السيناريو الخاص، احتوى certs.pem فقط على المرجع المصدق الفرعي (المرجع المصدق الإصدار).
بداية من الخطوة 5، تتناول هذه المقالة إجراء السيناريو الذي يحتوي فيه الملف certs.pem على شهادتين (مرجع مصدق جذري واحد مرجع مصدق فرعي واحد).
طريقة عرض الشهادات
الخطوة 4. التحقق من صحة المفتاح الخاص في Notepad
تحقق من محتوى ملف key.pem باستخدام محرر نصي (على سبيل المثال: nano certs.pem).
الخطوة 5. تقسيم شهادة المرجع المصدق
في حال كان ملف certs.pem يحتوي على شهادتين (1 مرجع مصدق جذري و 1 مرجع مصدق فرعي)، يلزم إزالة المرجع المصدق الجذر من سلسلة الثقة لكي يتمكن من إستيراد الشهادة بتنسيق PFX في FMC، تاركا المرجع المصدق الفرعي فقط في السلسلة لأغراض التحقق من الصحة.
قم بتقسيم certs.pem في ملفات متعددة، سيقوم الأمر التالي بإعادة تسمية النتائج على أنها cacert-xx.
split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-
فواصل بعد انقسام
أضف ملحق .pem إلى هذه الملفات الجديدة باستخدام الأمر الموضح أدناه.
for i in cacert-*;do mv "$i" "$i.pem";done
إعادة تسمية البرنامج النصي
راجع الملفين الجديدين وحدد أي منهما يحتوي على المرجع المصدق الجذر، وأي منهما يحتوي على المرجع المصدق الفرعي باستخدام الأوامر الموضحة.
أولا، ابحث عن مصدر ملف id.pem (وهو شهادة الهوية).
openssl x509 -in id.pem -issuer -noout
طريقة عرض المصدر
الآن، ابحث عن موضوع الملفين المفصلين (شهادات CA).
openssl x509 -in cacert-aa.pem -subject -noout
openssl x509 -in cacert-ab.pem -subject -noout
فحص الموضوع
ملف cacert الذي يطابق الموضوع مع مصدر ملف id.pem (كما هو موضح في الصور السابقة)، هو المرجع المصدق الفرعي الذي يتم إستخدامه لاحقا لإنشاء شهادة PFX.
احذف ملف cacert الذي ليس له الموضوع المطابق. في هذه الحالة، تلك الحصيلة كانت cacert-aa.pem.
rm -f cacert-aa.pem
الخطوة 6. دمج الشهادات في ملف PKCS12
ادمج شهادة CA الفرعية (لهذه الحالة، كان الاسم cacert-ab.pem) مع شهادة المعرف (id.pem) والمفتاح الخاص (key.pem) في ملف PFX جديد. يجب حماية هذا الملف باستخدام عبارة مرور. قم بتغيير اسم ملف cacert-ab.pem إذا لزم الأمر لمطابقة ملفك.
openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx
إنشاء PFX
الخطوة 7. استورد ملف PKCS12 في FMC
في FMC، انتقل إلى أداة > شهادات واستورد الترخيص إلى جدار الحماية المرغوب كما هو موضح في الصورة.
تسجيل الشهادة
إدراج اسم للوحدة الجديدة.
التسجيل
قم بإضافة الشهادة الجديدة، وانتظر عملية التسجيل لنشر الشهادة الجديدة في FTD.
شهادة جديدة
يجب أن تكون الشهادة الجديدة مرئية بدون علامة صليب أحمر في حقل CA.
التحقق من الصحة
استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.
في Windows، يمكنك أن تواجه مشكلة حيث يعرض نظام التشغيل السلسلة الكاملة للشهادة على الرغم من أن ملف .pfx يحتوي فقط على شهادة ID، في الحالة التي يحتوي فيها على ال subCA، سلسلة CA في مخزنه.
للتحقق من قائمة الشهادات الموجودة في ملف .pfx، يمكن إستخدام أدوات مثل certutil أو openssl.
certutil -dump cert.pfx
المرجع هو أداة سطر أوامر توفر قائمة الشهادات في ملف .pfx. يجب أن ترى السلسلة بأكملها بمعرف، SubCA، CA مضمن (إن وجد).
بدلا من ذلك، يمكنك إستخدام أمر OpenSSL، كما هو موضح في الأمر أدناه.
openssl pkcs12 -info -in cert.pfx
للتحقق من حالة الشهادة مع معلومات المرجع المصدق والمعرف، يمكنك تحديد الأيقونات والتأكد من أنها تم إستيرادها بنجاح: