در این مقاله موارد زیر را بررسی خواهیم کرد:
- یکی از اجزای اصلی اعتبار سنجی در vCenter، lookup service نام دارد
- تغییر گواهی vCenter چگونه با آن مرتبط است؟
- آیا این تغییر گواهی نامه بر روی دیگر سرویسها تاثیر گذار است؟
نکته: رویههای توضیح داده شده در ادامه این مقاله تنها با توجه به نسخههایvCenter 6.0-6.5 است و در نسخه ۶٫۷ این رویههای ممکن است متغییر باشد.
Lookup service چیست؟
Lookup service یک جزء از سیستم ورود یک پارچه (SSO) است که توسط کنترل کننده سرویس پلت فرم (PSC) ارائه شده است. این برنامه تحت سرویس (VMware-cm) در PSC اجرا میشود. در نسخه ۵٫۵ و قبل از آن، Lookup service بر روی پورت ۷۴۴۴ اجرا میشد اما در نسخههای جدید از پورت۴۴۳ استفاده میکند. نقش این سرویس ثبت محل تمام اجزایvCenter است تا آنها بتوانند یکدیگر را بیابند و ارتباط برقرار کنند.
در هنگام نصب PSC (بصورت داخلی یا خارجی)، Lookup service به طور خودکار نصب میشود. سرویسهایvCenter در Lookup service ثبت میشوند تا سایر سرویسها بتوانند آنها را پیدا کنند. در نسخههای قبل، پس از نصب SSO برنامه نصب کننده vCenter و سرویس Inventory به دنبال محل قرار گیری Lookup service میگشتند تا اطلاعات اشیاء خود را بر روی آن ثبت کنند.
تمام سرویسهای vCenter و همچنین راهکارهای مانند مدیریت بازیابی سایت(SRM)، در Lookup service ثبت میشوند. اگر به سرویسهای ثبت شده نگاه کنید، اطلاعات مختلفی که توسط آنها استفاده میشود شامل کاربران، آدرسها، گواهیها و غیر را میتوانید مشاهده کرد.
نمایش سرویسهای ثبت شده
برای نمایش سرویسهای ثبت شده در Lookup service، اگر یک PSC داخلی نصب شده بود به آدرس vCenter بروید که در ادامه به شرح آن پرداخته ایم. این آدرس در سیستم ۶٫۷ متفاوت است و میتوانید اطلاعات نحوه دستیابی به این اطلاعات را در لینک زیر مشاهده کنید.
https://psc.example.com/lookupservice/mob?moid=ServiceRegistration&method=List
- با حساب کاربری مدیر وارد سیستم اعتبار سنجی شوید (administrator@vsphere.local).
- بر روی گزینهList که در تصویر مشخص شده است کلیک کنید.
یک مقدار را مشخص کرده و بر روی گزینه Invoke Method کیلک کنید.
خروجی یک لیست طولانی از جداول را نشان میدهد که قابل خواندن اما دشوار است، برخی از اطلاعات مفید نیز در آن وجود دارد. مهمترین موارد که در این جداول ارائه شده است:
- ownerId: مشخص کننده کاربری
- SSL Trust: گواهی کد شده
- URL: آدرس هر سرویس
مثال زیر در مورد سرویس HealthStatus است، همانطور که مشاهده میکنید از مدل vpxd-extension استفاده میکند. ما همچنین آدرس https://@vcenter:443/MBCS/HealthStatus و گواهی آن بر پایه مدل ۶۴ را نیز در ادامه آن مشاهده میکنیم.
- محتوای مقدارTrust SSL را در فایلی جدا کپی کنید.
- آن را بین نشانههای شروع و پایان گواهی بگذارید، مانند مثال زیر:
—–BEGIN CERTIFICATE—–
MIIDizCCAnOgAwIBAgIBAjANBgkqhkiG9w0…..
—–END CERTIFICATE—–
- فایل جدید را به عنوان یک فایل جدید با فرمت.crt ذخیره و سپس آن را باز کنید. شما خواهید دید که گواهی برای ثبت این سرویس پیکربندی شده است.
زمانی که ما در مورد جایگزینی گواهی نامهها صحبت میکنیم در واقع مدلی را در نظر داریم که سرورvCenter بصورت داخلی نصب شده است، اما در مدل سرویس دهی خارجی این سرویس برروی SSO مانند SRM یا vROPS قرار میگیرد.
جایگزینی گواهینامه vCenter
برای جایگزینی گواهینامه درvCenter دو روش مختلف را برای شما شرح میدهیم.
در ابتدا فکر میکنید که هر دو روش منجر به نتایج یکسان میشود، اما در ادامه متوجه میشوید که بدین صورت نیست.
ابزار مدیریت گواهی نامهها
مدیریت گواهی نامه، هم در سرور ویندوزی و هم در سرور لینوکسی (VCSA) یک ابزار موجود در داخل vCenter است. به کمک یک رابط کاربری مناسب ارتباط درست و صحیحی با سرویسهای vecs و vmca فراهم میکند، که برای جایگزینی گواهینامهها، خود این ابزار سرویسها را به روز رسانی و راه اندازی مجدد میکند. با استفاده از اسکریپت نویسی میتوانید این کار را به سادگی بر روی یک vCenter ویندوزی یا یک VCSA انجام دهید. ما به کمک اسکریپت گواهی SSL دستگاه را با گواهی سفارشی شده جایگزین میکنیم، که میتواند یک درخواست سفارشی امضا شده(CSR) ایجاد و گواهی را بهجای آن جایگزین کند. ما به کمک یک ابزار رایگان به نام xca یک قسمت صادر کننده مجوز سبک و آسان برای ساخت و امضا گواهی فراهم کردهایم. در اینجا ما از تشریح ساخت گواهی خودداری میکنیم و به نحوه جایگزینی آن میپردازیم. اطلاعات بیشتر در مورد استفاده از ابزار مدیریت گواهی را میتوانید از سایت VMware مشاهده کنید.
به روز رسانی سرویس مهمترین قسمت این جایگزینی است. ابزار مدیریت گواهیها علاو جایگزینی گواهینامه، سرویسهای ثبت شده در lookup service را نیز به روز میکند. اگر در هنگام جایگزینی گواهینامه به خروجی توجه داشته باشید، در انتها تعدادی از سرویسهای به روز رسانی شده را مشاهده خواهید شد.
هنگامی که گواهی جایگزین شد، شما آن را در صفحه رابط کاربری تحت وب خود مشاهده خواهید کرد.
اکنون گواهی پیکربندی شدهای را که به کمک سرویس HealthStatus در lookup service ثبت شده است بررسی میکنیم. مراحل مشابهی که قبلا برای نمایش سرویس lookup service و نمایش اطلاعات SSL ایمن شده آن انجام دادهایم را تکرار میکنیم.
گواهی ثبت شده در واقع یک گواهی جدید است. این بدان معنی است که گواهی در همه جا تغییر کرده است. حالا اجازه دهید روش دیگر را با استفاده از رابط کاربری PSC در انجام دهیم و ببینیم آیا بین این دو روش اختلافی وجود دارد یا خیر.
ابزار مدیریت گواهی
رابط کاربریPSC
توجه داشته باشید که در نسخهvCenter 6.7 سرویس رابط کاربری PSC دیگر وجود ندارد. برای دستیابی به این گزینه ابتدا در نسخههای قبلی، ابتدا به زیر منوی Administration بروید، مدیریت گواهیها دارای تب جداگانهای است و تمام مدیریت PSC های دیگر در تب تنظیمات قرار گرفته است.
شما در نسخه ۶٫۵ همچنین میتوانید با استفاده از مرورگر به آدرس زیر رفته و به رابط کاربریPSC دسترسی داشته باشید:
https://psc.example.com/psc
با استفاده از حساب کاربری مدیر (administrator@vsphere.local) وارد SSO سیستم شوید. از قسمت مدیریت گواهی، گواهی دستگاه را جایگزین کنید و گواهینامه CA را اضافه کنید. هنگامی که این کار انجام میشود، سرور vCenter را راه اندازی مجدد کنید.
اطلاعات بیشتر در مورد استفاده از رابط کاربری PSC در سایتVMware قابل دستیابی است.
درست مثل قبل اگر به گواهی رابط کاربری تحت وب نگاه کنید، میبینید که گواهی جدید جایگزین شده است.
این روش یک راه ساده تر و کاربر پسند تر برای جایگزینی گواهی است. چرا ما ابزار مدیریت گواهینامه را معرفی کردیم؟ خوب، اجازه دهید تا آدرس Lookup service را دوباره بسازیم و همان کارهایی را که قبلا برای نمایش گواهیها استفاده شده انجام دادیم را به کمک سرویس HealthStatus تکرار کنیم.
در ادامه اینبار بعد از انجام عملیات به خطا برخورد میکنیم. در این قسمت با ابزار مدیریت گواهی، گواهی جدید نمایش داده شد، اما با محیط کابری خودمان هنوز گواهی قدیمی برای ما نمایش داده میشود.
رابط کاربری تحت وب PSC
تمام گواهینامههایی که در Lookup Service قرار دارد برای منظور خاصی استفاده میگردد. همانطور که قبلا ذکر شد Lookup Service یک سرویس خارجی برای یافتن سایر سرویسها و ارتباط آنها به طور ایمن با یکدیگر بود. اگر گواهی اشتباه ثبت شده باشد، سرویسهای خارجی به خطاهای گواهی برخورد خواهند کرد. به عنوان مثال، در سرویس SRM هر زمان که بر روی سایت مورد نظر کلیک کنید خطایی را در صورت عدم به روز رسانی گواهینامه مشاهده خواهید کرد.
خطا در گواهی نامه در SRM
مقاله شماره KB2109074 شرکت VMware لیست خطاهای اعتبار سنجی گواهیها را برای زمانی که شما از PSC خارجی استفاده میکنید را تشریح میکند. اگر از رابط کاربری PSC استفاده میکنید، میتوانید از راهحلهای مناسبی که در این مقاله تشریح شده استفاده کنید و به کمک آن مشکلات خود را حل کنید.
چگونه مشکل به روز رسانی را در رابط کاربری برطرف کنیم؟
در این مرحله هنوز شما میتوانید به راحتی گواهینامه خود را در سرور vCenter با استفاده از رابط کاربریPSC جایگزین کنید. در مقالهKB2121689 ، روشی برای برای به روز رسانی گواهیها معرفی شده است. این روش ممکن است طولانی به نظر برسد اما میتوان آن را سریع ترین راه معرفی کرد.
این راه حل از یک فایل پایتون (lstoolutil.py) که توسط VMware برای جایگزینی گواهی قدیمی ارائه شده است، بهره میگیرد. برای انجام این کار، شناسه اصلی سند گواهینامه قدیمی و فایل گواهی جدید را به عنوان پارامتر این اسکریپت ارسال میکنیم. در مثال ما سرویسPSC بصورت داخلی نصب شده است، در صورتی که PSC شما خارج از vCenter بود به مقاله شمارهKB2121701 مراجعه کنید.
اگرvCenter ما ویندوزی بود
- فایل ارائه شده در مقالهKB2121689 را دانلود کنید (lstoolutil.zip)
- ابتدا از فایل“%VMWARE_CIS_HOME%”\VMware Identity Services\lstool\scripts\lstoolutil.py که به طور پیش فرض، در محل C:\Program Files\VMware\vCenter Server\VMware Identity Services\lstool\scripts\ قرار گرفته است پشتیبان گیری کنید.
فایل lstoolutil.py را از فایل zip دانلود شده خارج و در مسیر زیر کپی کنید. “%VMWARE_CIS_HOME%”\VMware Identity Services\lstool\scripts\
خطایابی در ویندوزهای بر پایهvCenter و VCSA
- اگر در این مرحله هنوز این جابهجایی صورت نگرفته است، وارد صفحه وب Lookup service شوید و رشته SSL ایمن شده خود را به عنوان یک فایل گواهی .crt ذخیره کنید. اطمینان حاصل کنید که این گواهینامه باز نشود تا بصورت یک گواهی تازه جایگزین نشود.
- جزئیات گواهی را باز کنید و فیلد Thumbprint آن را پیدا کنید.
- مقدارThumbprint را کپی کنید و آن در جایی که بعدا بتوانید به آن دسترسی پیدا کنید، ذخیره کنید.
- گواهی جدید را در سرور vCenter ذخیره کنید. برای مثال C: \Temp\Newcert.crt برای ویندوز و /Temp/Newwriter.crt برای VCSA. این گواهی بر روی مرورگر شما در وب سرویس vSphere نشان داده میشود.
- به vCenter خود با استفاده از روش مناسب (SSH,RDP) متصل شوید (زمانی کهPSC بصورت داخلی نصب شده باشد).
- به کمک دستور Lookup Service خود را روز رسانی کنید. فراموش نکنید هر ۲ کاراکتر را به آن اضافه کنید.
Windows
cd “C:\Program Files\VMware\vCenter Server\VMware Identity Services\lstool\scripts\”
“%VMWARE_PYTHON_BIN%” ls_update_certs.py –url https://psc.vmware.com/lookupservice/sdk –fingerprint
۵C:F4:E4:9A:62:79:99:3E:B9:4D:89:45:48:67:10:DD:EC:C1:f0 –certfile C:\Temp\Newcert.crt –user Administrator@vsphere.local –password Password
VCSA
cd /usr/lib/vmidentity/tools/scripts/
python ls_update_certs.py –url https://psc.vmware.com/lookupservice/sdk –fingerprint
۵C:F4:E4:9A:62:79:99:3E:B9:4D:89:45:48:67:10:DD:EC:C1:f0 –certfile /Temp/Newcert.crt –user Administrator@vsphere.local –password ‘Password’
اجرای دستور ممکن است چند دقیقه طول بکشد و باید با موفقیت انجام شود. بعد از اجرای دستور تعداد سرویسهایی که به روز شدهاند، ذکر میشود. همان طور که در تصویر زیر مشاهده میکنید ۲۵ سرویس هنوز از گواهی قدیمی استفاده میکنند.
اگر ما به Lookup service برگردیم و به گواهی سرویس HealthStatus نگاهی کنیم، متوجه میشویم که گواهی استفاده شده در حال حاضر گواهی جدیدمان است.
نتیجه گیری
این آزمایشها نشان داد که دو روش جایگزینی گواهینامهها در vCenter عملیات مشابهای در پس زمینه را انجام نمیدهند، مساله یک مساله پیچیده است چرا که شما فکر میکنید این کار متفاوت نیست. ممکن است کمی سخت به نظر برسد که از رابط کاربریPSC برای جایگزینی گواهینامه استفاده نکنید، زیرا سادهتر و شفافتر نسبت به روش جایگزینی ابزاری است. اما استفاده از این نرم افزار بهترین راه برای انجام این کار است زیرا همه چیز را برای شما بصورت خودکار درست میکند.
2 thoughts on “جایگزین گواهینامه در vCenter ، و lookup service”
اون جایی که گفتین یه مقدار مشخص کنید.از کجا و بر چه مبنایی این مقدار بای مشخص بشه؟بین اسلاید اول و دوم
در قسمت Obj درصورتیکه بخواهید مقداری را باطل نمایید بایستی آنرا انتخاب کنید. مطابق تصویر پس از کلیک بر روی List می توانید درصورتیکه مقادیری برای آن ست شده باشد را invoke و باطل نمایید.