يعرف أي شخص يستخدم منتجات vmware أو لا يعرف أن إصدار الشهادة يمكن أن يسبب الكثير من الألم والمعاناة. لذلك ، حتى لا نخطو على هذا الخليع ، سأوضح كيفية صنع وتغيير الشهادات لمنتجات مثل:
- برنامج VMware Vcenter Server 6.7.0
- خادم النسخ المتماثل لبرنامج VMware 8.3
- برنامج VMware Site Recovery Manager 8.3
لهذا نحتاج:
- الشهادات
- المعجون
- القليل من الصبر
تحضير الشهادات ، سأستخدم خادم Windows عادي 2019 مع دور Active Directory Certificate Service و opensl v1.1.1h
يمكنك تنزيله هنا
1. إنشاء الشهادات
سأستخدم خادمًا محليًا لإصدار الشهادات ، لكن هذه الطريقة مناسبة لإصدار الشهادات وفي المواقع التجارية.
لنعد الطلبات للمرجع المصدق.
أعطيت أسماء مثل FQDNs:
- يدعى خادم Vcenter vc.home.local و ip 192.168.233.11
- خادم VMware Replication الذي قمت بتسميته باسم vr.home.local و ip 192.168.233.12
- برنامج VMware Site Recovery قم بإدارة srm.home.local و ip 192.168.233.13
لهذه الأسماء ، سنقوم بإعداد الطلبات والمفاتيح الخاصة في برنامج openssl . لهذا ، سنقوم بإنشاء ملف تكوين صغير vc.cfg بالمحتويات. بعد ذلك ، لكل خادم جديد ، سأغير محتويات هذا الملف عن طريق استبدال أسماء الخادم وعناوين IP:
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = RU
stateOrProvinceName = RO
localityName = RnD
organizationName = HOME
commonName = vc.home.local ()
emailAddress = root@home.local
[v3_req]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, keyAgreement
subjectAltName = @alt_names
[alt_names]
DNS.1 = vc.home.local ()
IP.2 = 192.168.233.11 ()
بعد ذلك ، استخدم openssl
1.1 قم بعمل vc.home.local
openssl req -batch -new -newkey rsa:2048 -nodes -keyout vc.home.local.key -out vc.home.local.req -config vc.cfg
1.2 تغيير الأسماء و IP للخادم في vc.cfg وحرر المفتاح وطلب vr.home.local
openssl req -batch -new -newkey rsa:2048 -nodes -keyout vr.home.local.key -out vr.home.local.req -config vc.cfg
1.3 تغيير الأسماء و IP للخادم في vc.cfg وحرر المفتاح وطلب srm.home.local
openssl req -batch -new -newkey rsa:2048 -nodes -keyout srm.home.local.key -out srm.home.local.req -config vc.cfg
1.4 بالإضافة إلى ذلك ، تحتاج إلى شهادات لخدمات vcenter (vpxd ، vsphere-webclient ، vpxd-extension) ،
فنحن نصنعها بالأمر:
openssl req -new -newkey rsa:2048 -nodes -keyout vpxd.key -out vpxd.req
سوف ندخل في معالج صغير ، حيث سندخل معلومات عن أنفسنا أو عن الشركة. تأكد من كتابة اسم الخدمة في حقل "الاسم العام". نكرر الإجراء للخدمات المتبقية. نتيجة لذلك ، نحصل على مفتاح خاص وطلب شهادة.
إنشاء طلب مفتاح وشهادة
الآن جميع الطلبات والمفاتيح جاهزة ، فلنبدأ في إصدار شهادة. انتقل إلى مركز إصدار الشهادات. قم بتشغيل وحدة تحكم المرجع المصدق .
بعد ذلك ، انقر بزر الماوس الأيمن (pkm) على جذر الخادم وحدد إصدار طلب جديد.
نختار ملف الطلب الخاص بنا ، مع الامتداد req.
اذهب إلى قائمة الطلبات المعلقة . إذا كانت فارغة ، فاضغط على F5 وسيتم تحديث النافذة. بعد ذلك ، اضغط على pkm ، وحدد المشكلة:
بعد ذلك ، انتقل إلى قائمة الشهادات الصادرة وافتح شهادتنا .
بعد ذلك ، نحتاج إلى حفظه على القرص. للقيام بذلك ، انتقل إلى علامة التبويب " التكوين" وانقر فوق الزر " نسخ إلى ملف"... بعد ذلك ، سيظهر معالج لحفظ الملفات ، نحتاج إلى تحديد Base64 واسم الملف في هذه الحالة vpxd.crt:
حفظ الشهادة.
نكرر إجراء الإصدار لجميع شهاداتنا /
ما زلنا بحاجة إلى شهادة الجذر. للقيام بذلك ، افتح أي شهادة ، وانتقل إلى علامة التبويب مسار الشهادة ، وحدد الشهادة الجذر الخاصة بنا وانقر فوق الزر عرض الشهادة. علاوة على ذلك ، سنقوم أيضًا بحفظه مثل كل السابق.
وهذا ليس كل شيء بالنسبة لـ VMware Replication Server و VMware Site Recovery Manager. نحن بحاجة إلى شهادة وحاوية مفتاح. pfx ، من السهل جدًا إنشاءه ، نحتاج إلى المفاتيح الخاصة وملف الشهادة:
openssl pkcs12 -export -out vr.home.local.pfx -inkey vr.home.local.key -in vr.home.local.crt
طلب OpenSSL كلمة مرور ، واحصل على كلمة مرور وعند الخروج نحصل على الملف المطلوب.
هذا يكمل إنشاء الشهادات والمضي قدما في تثبيتها.
2. لنبدأ في التغيير مع Vcenter
للقيام بذلك نذهب إلى قسم الإدارة ونذهب إلى قسم الشهادات . تسجيل الدخول كمسؤول.
قسم لإدارة الشهادات.
بعد ذلك ، عندما نصل إلى لوحة التحكم ، سنضيف أولاً شهادة الجذر أو شهادات الجذر الموثوقة. قم بالتمرير إلى النهاية واضغط على ADD. نختار شهادتنا ca.crt
إضافة شهادات الجذر الموثوقة
بعد ذلك ، نقوم بتغيير الشهادات الحالية من خلال عنصر القائمة استبدال:
حدد الشهادات التي أنشأناها لـ vcenter:
بالنسبة للخدمات ، نختار شهادات الخدمات التي تم إنشاؤها في الفقرة 1.4
للشهادات __MACHINE_CERT وشهادة الجهاز vc.home.local ، التي تم إنشاؤها في الفقرة 1.1
لقد استبدلنا جميع الشهادات المتوفرة لدينا من لوحة التحكم. إذا كان لديك
تكوين يفتقر إلى مكونات VMware Replication Server و VMware Site Recovery Manager ، فيمكنك وضع حد لذلك والاستمتاع بـ VCentre بعد إعادة تشغيل الخادم. إذا كنت تستخدم خادمًا قائمًا بذاته لإصدار الشهادات ، فإنني أنصحك بعمل شهادات لمدة 10 سنوات أو أكثر. إذا اشتريت ، انظر إلى الظروف.
للتعرف على الشهادات بشكل صحيح بواسطة المستعرضات الخاصة بك ، تحتاج إلى تثبيت شهادة الجذر في مخزن شهادات نظام التشغيل.
3. قم بتغيير الشهادة على خادم VMware Replication
لنبدأ بحقيقة أنك تحتاج إلى تثبيت شهادة جذر على خادم vr ، لأنها ليست في واجهة الويب القياسية. للقيام بذلك ، نحتاج إلى تسجيل الدخول إلى الخادم عبر ssh ، ولكن يتم تعطيله افتراضيًا. دعنا نشغلها. افتح وحدة تحكم الآلة الافتراضية وقم بتسجيل الدخول بحساب الجذر.
نقوم بتنشيط خادم ssh.
/usr/bin/enable-sshd.sh
بعد ذلك ، يمكنك الاتصال بالخادم عبر المعجون.
جميع شهادات ca الجذر موجودة في حاوية jks على طول المسار /opt/vmware/hms/security/hms-truststore.jks
ولكن الحاوية بها كلمة مرور ، فلنكتشفها باستخدام الأمر:
/opt/vmware/hms/bin/hms-configtool -cmd list | grep keystore
بعد ذلك ، نقوم بحفظ ca.crt الخاص بنا على الخادم ، وعادة ما أقوم بذلك من خلال برامج تحرير النصوص ، على الكمبيوتر المحلي ، أقوم بفتح الشهادة باستخدام المفكرة ونسخها إلى الحافظة ، على الجهاز البعيد باستخدام محرر vi الذي ألصقه وحفظه. بعد ذلك يمكننا كتابة شهادتنا على الحاوية بالأمر:
/usr/java/default/bin/keytool -import -trustcacerts -alias root -file /root/ca.crt -keystore /opt/vmware/hms/security/hms-truststore.jks -storepass
ثم نقول نعم لطلب الإضافة . هذا كل شيء ، لقد أضفنا بنجاح شهادة الجذر الخاصة بنا.
نذهب إلى لوحة تحكم الخادم على vr.home.local : 5480
انتقل إلى علامة التبويب " التكوين" ، وحقل تحميل ملف PKCS12 (* .pfx) ،
وحدد ملف pfx الخاص بنا. انقر فوق تحميل وتثبيت
تكوين خادم vr.
بعد إعادة تشغيل خادم الويب وتسجيل الدخول ، نحاول حفظ التكوين باستخدام الزر Save and Restart Service (حفظ وإعادة تشغيل الخدمة):
ويظهر خطأ:
Unhandled exception com.vmware.vim.vmomi.client.exception.SslException: javax.net.ssl.SSLException: Certificate thumbprint mismatch, expected:
يخبرنا الخادم أن الشهادات المطبوعة للخدمات الموجودة في المركز غير متطابقة.
افتح المعجون واتصل بمركزنا vc.home.local. ابدأ
bash بأمر shell: غيّر
إلى الدليل:
cd /usr/lib/vmidentity/tools/scripts/
وننظر إلى حالة هذه الخدمة:
./lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null
إذا قمت بفتح شهادتنا vc.home.local.crt في محرر نصوص وقارنتها ، اتضح أن الشهادات مختلفة. الحقيقة هي أن واجهة الويب في المركز لا تغير جميع الشهادات.
نقوم بنسخ محتويات الشهادة في الملف /tmp/old.crt ، لا تنس أن محتويات الشهادة يجب أن تكون بين العلامتين ----- BEGIN CERTIFICATE ----- و ----- END CERTIFICATE -----
يجب أن تبدو هكذا :
الآن ، افتح شهادتنا الجديدة في مركز vc.home.local.crt في محرر نصوص
وانسخها إلى vc في الملف /tmp/new.crt
بعد ذلك ، اكتشف تجزئة sha1 للملف /tmp/old.crt ، ستكون هناك حاجة لاستبدال الشهادات القديمة بـ جديد.
openssl x509 -in /tmp/old.crt -noout -fingerprint -sha1
بعد ذلك ، قم بتشغيل البرنامج النصي البديل:
./ls_update_certs.py --url https://vc.home.local/lookupservice/sdk --fingerprint 86:0D:BB:--- ----:C7:0E:D1:3E:17:39 --certfile /tmp/new.crt --user administrator@home.local --password
في نهاية البرنامج النصي ، سيحتوي التقرير على عدد الشهادات المستبدلة.
بعد ذلك ، انتقل إلى vr.home.local: 5480 واحفظ التكوين. إذا فعلت كل شيء بشكل صحيح ، يجب أن ينجح الخادم في حفظ التكوين وبدء خدمة الخادم vr.
3. استبدال الشهادة بـ VMware Site Recovery Manage
على هذا الخادم ، يتم تنفيذ كل شيء من واجهة الويب في قائمة الشهادات .
نذهب إلى لوحة الإدارة srm.home.local : 5480
- أضف جذر ca مع زر ADD
- قم بتغيير الشهادة الحالية باستخدام الزر CHANGE
هذا يخلص إلى تغيير جميع الشهادات.
شكرا للجميع!