المقدمة
يوضح هذا المستند كيفية إنشاء شهادة موقعة ذاتيا يمكن إستخدامها من قبل CloudCenter باستخدام عناوين URL متعددة.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
المكونات المستخدمة
تستند المعلومات الواردة في هذه الوثيقة إلى CentOS7.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
المشكلة
لا تحتوي الشهادات التي تأتي كميزة قياسية مع CloudCenter أو التي يمكن إنشاؤها باستخدام معالج تكوين مدير المكالمات (CCM) من Cisco على اسم بديل للموضوع (SAN) والذي تعامله بعض المستعرضات مثل Google Chrome كخطأ وتحذرك. يمكن تجاوز هذا الإجراء، ولكن بدون شبكات التخزين (SAN)، يمكن أن تكون الشهادة صالحة من عنوان URL محدد واحد فقط.
على سبيل المثال، إذا كان لديك شهادة صالحة لعنوان IP 10.11.12.13، إذا كان لديك اسم نظام اسم مجال (DNS) ل www.opencart.com، فستتلقى خطأ شهادة لأن URL هذا ليس ما تكون عليه الشهادة (هذا صحيح حتى إذا كان www.opencart.com مدرجا في ملف المضيفين باعتباره الملف الذي ينتمي إلى 10.11.12.13). يمكن أن يحدث هذا إذا كان مستأجرو CloudCenter في إستخدام تسجيل الدخول الأحادي (SSO)، حيث إن كل خادم SSO لديه عنوان URL خاص به.
الحل
أسهل طريقة لإصلاح هذه المشكلة هي إنشاء شهادة ذاتية التوقيع جديدة لها شبكة منطقة تخزين (SAN) التي تسرد أي عنوان URL الذي يوجهك إلى نفس عنوان IP. والدليل هو محاولة لتطبيق أفضل الممارسات على هذه العملية.
الخطوة 1. انتقل إلى الدليل الجذر وقم بإنشاء مجلد جديد لإيواء الشهادات:
sudo -s
cd /root
mkdir ca
الخطوة 2. قم بالتنقل في المجلد الجديد وعمل مجلدات فرعية لتنظيم الشهادات والمفاتيح الخاصة والسجلات.
cd ca
mkdir certs crl newcerts private
chmod 700 private
touch index.txt
echo 1000 > serial
الخطوة 3. انسخ محتويات CAopenssl.conf إلى /root/ca/openssl.cnf
ملاحظة: يحتوي هذا الملف على خيارات التكوين للمرجع المصدق (CA) والخيارات الافتراضية التي قد تكون مناسبة ل CloudCenter.
الخطوة 4. إنشاء مفتاح خاص وشهادة ل CA.
openssl genrsa -aes256 -out private/ca.key.pem 4096
chmod 400 private/ca.key.pem
openssl req -config openssl.cnf -key private/ca.key.pem -new -x509 -days 7300 -sha256 -extensions v3_ca -out certs/ca.cert.pem
chmod 444 certs/ca.cert.pem
الخطوة 5. المرجع المصدق هو الطريقة النهائية للتحقق من صحة أي شهادة، ويجب عدم الوصول إلى هذه الشهادة أبدا من قبل أفراد غير مصرح لهم ويجب عدم تعريضها للإنترنت. بسبب هذا التقييد، يجب أن تقوم بإنشاء مرجع مصدق متوسط يوقع على شهادة النهاية، وهذا ينشئ فاصل حيث إذا تم أختراق شهادة السلطة الوسيطة يمكن إبطالها وتم إصدار شهادة جديدة.
الخطوة 6. إنشاء دليل فرعي جديد ل CA الوسيط.
mkdir /root/ca/intermediate
cd /root/ca/intermediate/
mkdir certs crl csr newcerts private
chmod 700 private
touch index.txt
echo 1000 > serial
echo 1000 > /root/ca/intermediate/crlnumber
الخطوة 7. انسخ محتويات MediaOpenSSL.conf إلى /root/ca/intermediate/openssl.cnf .
ملاحظة: يحتوي هذا الملف على خيارات تكوين متطابقة تقريبا ل CA بخلاف بعض التعديلات الصغيرة لجعله خاصا بوسيط.
الخطوة 8. قم بإنشاء المفتاح الوسيط والشهادة.
cd /root/ca
openssl genrsa -aes256 -out intermediate/private/intermediate.key.pem 4096
chmod 400 intermediate/private/intermediate.key.pem
openssl req -config intermediate/openssl.cnf -new -sha256 -key intermediate/private/intermediate.key.pem -out intermediate/csr/intermediate.csr.pem
الخطوة 9. توقيع الشهادة الوسيطة مع شهادة CA، يؤدي ذلك إلى إنشاء سلسلة ثقة يستخدمها المستعرض للتحقق من صحة الشهادة.
openssl ca -config openssl.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in intermediate/csr/intermediate.csr.pem -out intermediate/certs/intermediate.cert.pem
chmod 444 intermediate/certs/intermediate.cert.pem
الخطوة 10. قم بإنشاء سلسلة المرجع المصدق، نظرا لأنك لا تريد المرجع المصدق على الإنترنت، يمكنك إنشاء سلسلة المرجع المصدق التي يستخدمها المستعرضون للتحقق من الأصالة حتى المرجع المصدق.
cat intermediate/certs/intermediate.cert.pem certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem
chmod 444 intermediate/certs/ca-chain.cert.pem
الخطوة 11. إنشاء مفتاح جديد وشهادة ل CCM.
openssl genrsa -out intermediate/private/ccm.com.key.pem 2048
openssl req -new -sha256 -key intermediate/private/ccm.com.key.pem -subj "/C=US/ST=NC/O=Cisco/CN=ccm.com" -reqexts SAN -config <(cat intermediate/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:ccm.com,DNS:www.ccm.com,IP:10.11.12.13")) -out intermediate/csr/ccm.com.csr
الخطوة 12. يحتوي هذا على كافة الحقول المطلوبة في الأمر ويجب تحريره يدويا.
- /C=US تشير إلى البلد (2 حرف كحد أقصى)
- يشير /ST=NC إلى الدولة وقد يتضمن مسافات
- /o=تشير Cisco إلى المنظمة
- يشير /cn=ccm.com إلى الاسم المشترك، يجب أن يكون عنوان URL الرئيسي المستخدم للوصول إلى CCM.
- SAN\nsubjectAltName= هي أسماء بديلة، يجب أن يكون الاسم الشائع في هذه القائمة ولا يوجد حد لعدد شبكات التخزين لديك.
الخطوة 13. توقيع الشهادة النهائية باستخدام الشهادة الوسيطة.
openssl ca -config intermediate/openssl.cnf -extensions server_cert -days 375 -notext -md sha256 -in intermediate/csr/ccm.com.csr -out intermediate/certs/ccm.com.cert.pem
الخطوة 14. تحقق من توقيع الشهادة بشكل صحيح.
openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/ccm.com.cert.pem
الخطوة 15. ويمكنها ان ترجع إما رهانا أو رسبا.
الخطوة 16. انسخ الشهادة الجديدة ومفتاحها وسلسلة المرجع المصدق إلى مجلد كاتالينا.
cd /root/ca/intermediate/certs
cp ccm.com.cert.pem /usr/local/tomcat/conf/ssl/ccm.com.crt
cp ca-chain.cert.pem /usr/local/tomcat/conf/ssl/ca-chain.crt
cd ../private
cp ccm.com.key.pem /usr/local/tomcat/conf/ssl/ccm.com.key
الخطوة 17. منح ملكية العميل وتعيين الأذونات بشكل صحيح.
chown cliqruser:cliqruser ccm.com.crt
chown cliqruser:cliqruser ccm.com.key
chown cliqruser:cliqruser ca-chain.crt
chmod 644 ccm.com.crt
chmod 644 ccm.com.key
chmod 644 ca-chain.crt
الخطوة 18. قم بإجراء نسخ إحتياطي لملف server.xml قبل إجراء أي تغييرات.
cd ..
cp server.xml server.xml.bak
الخطوة 19. تحرير server.xml:
- حدد موقع القسم الذي يبدأ ب <Connector port="10443" maxHttpHeaderSize="8192"
- تغيير SSLCertificateFile إلى نقطة ccm.com.crt
- تغيير SSLCertificateKeyFile للإشارة إلى ccm.com.key
- تغيير SSLCACertificateFile إلى نقطة ca-series.crt
الخطوة 20. أعد تشغيل Tomcat.
service tomcat stop
service tomcat start
الخطوة 21. يستخدم CCM الآن الشهادة الجديدة الصالحة لجميع أسماء DNS وعناوين IP المحددة في الخطوة 13.
الخطوة 22. بما أن المرجع المصدق قد تم إنشاؤه في وقت الدليل، فإن المستعرضات الخاصة بك لن تعرف أنه صالح بشكل افتراضي، يجب عليك إستيراد الشهادة يدويا.
الخطوة 23. انتقل إلى CCM باستخدام أي عنوان URL صالح واضغط Ctrl+Shift+i ، وهذا يفتح أدوات المطور.
الخطوة 24. حدد عرض الشهادة كما هو موضح في الصورة.
الخطوة 25. حدد التفاصيل كما هو موضح في الصورة.
الخطوة 26. حدد نسخ إلى ملف كما هو موضح في الصورة.
الخطوة 27. إذا ظهرت أخطاء حول مرجع مصدق غير موثوق به، انتقل بعد ذلك إلى مسار الاعتماد لعرض الشهادة الوسيطة وشهادة الجذر. يمكنك النقر عليها وعرض ترخيصها وكذلك نسخ تلك إلى ملفات كما هو موضح في الصورة.
الخطوة 28. بمجرد تنزيل الشهادات، اتبع تعليمات نظام التشغيل (OS) أو المستعرض لتثبيت هذه الشهادات كمراجع موثوق بها وسلطات وسيطة.