یکی از مشکلاتی که در ارتباط با VMware Tools وجود دارد، بحث آپدیت بودن این نرم افزار میباشد به طوریکه کاربران بدون داشتن دسترسی بالا در ماشینهای مجازی ویندوزی که VMware Tools نسخهای پایینتر از 10.3.10 را اجرا میکنند، اطلاعات را بخوانند و یا مشکلاتی ایجاد کنند. VMware در صفحه بیانیهها (VMware Security Advisories) ، این آسیبپذیری را بصورت رسمی VMSA-2019-0009 خطاب کرده است. این آسیبپذیری به عنوان «مهم» طبقهبندی شده که براساس سیاست واکنش امنیتی به این معنی است که میتواند منجر به در معرض خطر گرفتن محرمانگی و یا تمامیت دادههای کاربر شده اما باید «از طریق کمک کاربر و یا توسط مهاجمانی که اهراز هویت شده اند، مورد سو استفاده قرار گیرد».
به بیان سادهتر، باید تمامی ماشینهای مجازی با کاربران غیر Administrator را بررسی و اصلاح شوند. یک مثال خوب، ماشینهای مجازی ویندوزی که سرویسهای Microsoft Remote Desktop را اجرا میکنند میباشد، اما تفکر خود را تنها به user accountها محدود نکنید، بلکه هر سیستمعاملی که دارای service accountهایی برای پشتیبانی از نرمافزارهایی مانند Microsoft SQL Server و یا IIS میباشد؛ نیز در معرض ریسک قرار دارد، به خصوص اگر نرمافزار کاملا بروزرسانی نشده باشد. مهاجمان میتوانند از همچنین نقصهایی در نرمافزار Patch نشده برای اجرای حملات دیگری به سیستمعامل نیز استفاده کنند.
در حالی که ما به شدت اصرار به Patch کردن داریم، تنها شما و سازمانتان میتوانید خطرات و تاثیرات احتمالی کسبوکار را ارزیابی کنید. هرچند ممكن است از ابزارهای کنترلی دیگری مانند vSphere Platinum با AppDefense، به عنوان سطوح حفاظتي اضافي بهره ببرید.
روش شناسایی ماشین مجازی متاثر از آسیب پذیری
یک روش بسیار عالی برای مشخص کردن این که کدام ماشینهای مجازی در محیط شما تحتتاثیر قرار گرفتهاند، استفاده از PowerCLI میشود. این فرمان تمام ماشینهای مجازی با با نسخههای Tools زیر 10.3.10 را که Build Number 10346 را دارد، نشان میدهد:
Get-VM | Get-View | Where-Object {$_.Config.Tools.ToolsVersion -lt ‘10346’} | Sort-Object Name | Select Name | Format-Table
این فرمان به شما تمام ماشینهای مجازی ویندوزی با نسخههای Tools زیر 10.3.10 را نشان میدهد:
Get-VM | Get-View | Where-Object {$_.Config.Tools.ToolsVersion -lt ‘10346’ -and $_.Guest.GuestFamily -eq ‘windowsGuest’} | Sort-Object Name | Select Name | Format-Table
شما همچنین میتوانید یک ماشین مجازی را به صورت دستی از تب Summary در vSphere Client نیز چک کنید:
توجه داشته باشید که سیستمعاملهای لینوکس تحتتاثیر قرار نگرفتهاند و بنابراین اگر Repo شما برای open-vm-tools فقط 10.3.5 را ارائه میدهد، نیازی به نگرانی نیست.
نحوه دریافت نسخههای جدید VMware Tools
همانطور که ممکن است بدانید ، چرخههای انتشار برای VMware Tools و vSphere با هم مرتبط نیستند. VMware Tools به طور مرتب انتشار مییابد، و درصورت استفاده از نسخههایی که همراه با انتشار ESXi عرضه شدهاند، ممکن است آخرین به روزرسانیهای VMware را از دست بدهید. آخرین انتشار ESXi موجود در زمان نوشتن این مطلب 6.7 Update 2a است، که همراه با VMware Tools 10.3.5 ارائه شده است. توجه داشته باشید در حالی که این آسیبپذیری تنها در نسخههای 10.2.x و 10.3.x از VMware Tools وجود دارد و نسخههای 10.0.2 و 10.1.x تحت تاثیر این آسیبپذیری نیستند، به طور کلی توصیه میشود که در صورت امکان ارتقاء را در نظر بگیرید. PowerCLI بالا تمامی نسخههای پایینتر از آخرین نسخه عرضه شده را نمایش میدهد.
اگر شما VMware Tools Offline VIB Bundle را دانلود کنید، میتوانید از vSphere Update Manager (و یا به اختصار VUM) برای پیادهسازی Installerهای جدید در Hostهای خود بدون Downtime استفاده کنید. VIB را در VUM وارد (Import) کرده و آن را به یک Baseline متصل کنید، و یا بررسی کنید در Baseline پیشفرض گنجانده شده باشد. از vSphere 6.5، هر 5 دقیقه برای اطلاع از نسخه جدید VMware Tools از Guest پرسش میشود و به این ترتیب هشدارهای Guest برای نسخههای جدید VMware Tools مشاهده میشوند. این امر بر روی نسخههای قدیمیتر در مورد عملکردهای روشن و یا خاموش شدن بررسی میشود. با این حال سادهترین راه برای انجام این کار این است که ماشین مجازی را به میزبان دیگری vMotion کنید، زیرا vMotion یک عملیات خاموش و یا روشن شدن را در بر خواهد داشت.
برای محیطهای بزرگتر ممکن است ترجیح داده شود که تنها یک کپی از آخرین نسخه Installerها در یک مکان مرکزی نگه داشته شوند.vSphere 6.7 U1 با معرفی یک API جدید که بدون نیاز به حالتهای نگهداری و یا Reboot کردن امکان پیکربندی این امر را میدهد.
در صورتی که از نسخهای از ESXi استفاده میکنید که همراه با VMware Tools ارائه شده است، نسخه جدیدی از Tools، Patch Update بعدی را برای ESXi به همراه خواهد داشت. بسته به ارزیابیهای خود از ریسکها ممکن است بخواهید به طور فعال به این موضوع توجه کنید. همچنین ممکن است اداره VMware Tools به صورت جداگانه از ESXi نیز مطلوب و منطقی باشد. این چیزی است که باید با مدیران ماشینهای مجازی و سیستم عاملهای آنها در میان بگذارید.
نحوه نصب آخرین نسخههای VMware Tools
مشابه گزارشدهی، بهروزرسانی VMware Tools نیز با PowerCLI بسیار ساده است:
Get-VM | Where-Object {$_.ExtensionData.Guest.ToolsVersionStatus -eq “guestToolsNeedUpgrade” -and $_.PowerState -eq “PoweredOn”} | Get-VMGuest | Where-Object {$_.GuestFamily -eq “windowsGuest” } | Update-Tools -NoReboot -RunAsync
یک نکته نسبتا مهم در ارتقاء VMware Tools این است که فرآیند ارتقاء ممکن است نیاز به راهاندازی مجدد سیستمعامل Guest داشته باشد. نیاز به راهاندازی مجدد، به نسخه VMware Tools پیش از ارتقاء و همچنین اجزای نصب شده بستگی دارد. برای آزمایش، به یاد داشته باشید که دستور Get-VM میتواند نام یک ماشینمجازی را داشته باشد و همچنین اگر میخواهید بر روی یک پوشه از ماشینهای مجازی آزمایش کنید، میتوانید دستور PowerCLI Get-Folder را فیلتر کنید:
Get-VM “TEST-VM-02” | Where-Object…
Get-Folder “Test VMs – Snapshotted” | Get-VM | Where-Object…
شما همچنین همیشه میتوانید ارتقاء VMware Tools را از vSphere Client نیز آغاز کنید:
در صورت انتخاب کردن گزینه ارتقا خودکار (Automatic Upgrade)، در صورت نیاز، ماشینهای مجازیتان به طور خودکار مجددا راهاندازی خواهند شد. واضح است که این موضوع در همه موارد مطلوب نخواهد بود. خوشبختانه، برخی گزینههای پیشرفته نیز وجود دارند که میتوان برای جلوگیری از راهاندازی مجدد آنها، به Installerها اضافه کرد. آگاه باشید که استفاده از این گزینههای پیشرفته ارتقا را انجام خواهد داد، اما تا راهاندازی مجدد شما هنوز نسخه قدیمیتر را خواهید داشت. این کار سیستمعامل را در حالت «منتظر راهاندازی مجدد و یا Pending Reboot» قرار خواهد داد، که ممکن است از نصب برنامهها و بهروزرسانیهای دیگر تا راهاندازی مجدد جلوگیری کند.
گزینه دیگر مشخص کردن این موضوع در تنظیمات خود ماشین مجازی است:
همانطور که ممکن است انتظار داشته باشید، این کار VMware Tools را در زمان روشن شدن بعدی ماشین مجازی به روزرسانی خواهد کرد. این امر میتواند بسیار منطقی باشد، اما به خاطر داشته باشید که شما ممکن است بر روی ماشین مجازی در زمان راه اندازی مجدد هیچ گونه کنترلی نداشته باشید. یک BSOD و یا یک Guest Administrator میتواند در زمانی که انتظار ندارید باعث راهاندازی مجدد گردد، در این شرایط، باید مدتی برای ارتقا کامل صبر کنید.
کنترل Admin سیستمعامل Guest
در حالی که ما در مورد Administratorهای سیستمعامل صحبت میکنیم، توجه داشته باشید که گزینه تنظیمات پیشرفته در ماشینها مجازی شما وجود دارد که مدیران میانی شما را از مدیریت VMware Tools منع میکند. شاید شما یک سرور دیتابیس مهم عملیاتی داشته باشید. Adminهای سیستم عامل خواستار کنترل کامل بر روی چیزهایی که نصب میشوند، زمانی که نصب و یا ارتقا داده میشوند و یا مهمتر از همه وقتی سیستمعامل مجددا راهاندازی میشود را میخواهند. شما این کار را با افزودن گزینه پیکربندی پیشرفته به پیکربندی ماشین مجازی انجام میدهید. با این پیکربندی، Adminهای سیستم عامل شما هنگامی که ارتقا VMware Tools موجود باشد، یک پیام systray را مشاهده خواهند کرد. به عنوان مثال، آنها میتوانند برای چک کردن و بهروزرسانی از CLI به این صورت استفاده کنند:
VMwareToolboxCmd.exe –v
نسخه نصب شده را چک میکند
VMwareToolboxCmd.exe upgrade status
ارتقاهای موجود را چک میکند
VMwareToolboxCmd.exe upgrade start
فرآیند ارتقا را آغار میکند. شما رابط گرافیکی Installer را خواهید دید، اما این یک نصب خودکار است و به هیچ تعاملی نیاز نخواهد داشت.
VMware Tools بخش مهمی از مجموعه محصولات VMware میباشند و آنها نیز مانند بقیه اکوسیستمهای IT ما، نرمافزار هستند و نه فقط برای قابلیتها و امکانات جدید، بلکه برای حل مشکلات؛ به توجه و بهروزرسانی نیاز دارند. صرف زمان برای بررسی و آزمایش گزینههای مدیریت VMware Tools، سرمایهگذاری در امنیت و ثبات سازمانتان است. امنیت به همه افراد دخیل در IT مربوط بوده و همکاری برای تضمین عدم وجود شکاف برای عبور مهاجمان، بسیار ضروری و حیاتی است.