امنیت در VMware ESXi
مجازی‌سازی از یک نوع تفکر عمیق و اجرا کردن هر آنچه که در فکر و ذهن می‌گذرد و نهایتاً بدون وجود خارجی پیاده‌سازی می‌گردد.
مجازی‌ سازی عبارت است از راهکاری که اجازه می دهد چندین ماشین مجازی بطور همزمان بر روی یک سرور سخت افزاری به اجرا در آیند.استفاده از تکنولوژی مجازی‌سازی باعث رشد و پیشرفت بسیار شده است. پیاده‌سازی دستگاه‌های سخت‌افزاری به صورت مجازی اما با همان عملکرد مزایای بسیاری را برای ما به رهاورد کشیده است.همان طور که قبلا اشاره شد VMware یکی از مشهورترین شرکت هایی است که در زمینه مجازی سازی به طور گسترده فعالیت دارد و مشهورترین محصول آن در این زمینه VMware ESXi می باشد.زمانیکه ESXi با تنظیمات پیش فرض نصب می شود بسیاری از موارد امنیتی در نظر گرفته نمی شوند. در ادامه چندین تکنیک کارامد برای افزایش امنیت ESXi و ماشین های مجازی ارائه شده است که می توان با رعایت این موارد امنیت بستر مجازی را به طور چشگمیری افزایش داد.
توجه: برای اعمال برخی از تکنیک های ذکر شده نیاز است برخی از پارامترهای کنترلی در ماشین مجازی تغییر داده شده و یا پارامتر جدیدی اضافه شود.

تغییر و یا حذف پارامترها به دو صورت قابل انجام می باشد:
– اعمال تغییرات در فایل .vmx که مربوط به نگهداری تنظیمات ماشین مجازی می باشد. لازم به ذکر است این امر نیازمند دسترسی از طریق shell است.
– اعمال تغییرات از داخل ESXi توسط نرم افزار VShere Client
ابتدا وارد بخش تنظمات ماشین مجازی شده و سپس از طریق مسیر زیر می توانید پارامترها را تغییر دهید:
Options–>Advanced–>General–>Configuration Parameters

تکنیک های افزایش امنیت:

– عدم اتصال ESXi به سرویس Active Directory
یکی از قابلیت هایی که ESXi پشتیبانی می نماید امکان لاگین نمودن به ESXi از طریق اطلاعات موجود در (Active Directory (AD ویندوز می باشد. اما به دلیل آسیب پذیر بودن سرویس AD پیشنهاد می شود سیستم لاگین به ESXi را به سرویس (Active Directory (AD سیستم عامل windows متصل نکنید.

– فعال سازی حالت Lockdown
اگر تعداد هاست های ESXi شما زیاد می باشد به منظور مدیریت یکپارچه آنها می بایست از نرم افزار VMware vCenter استفاده نمایید. به منظور جلوگیری از اتصال مستقیم به هاست ESXi از طریق vSphere client می توانید در هنگام اضافه نمودن هاست ESXi به vCenter از قسمت security options حالت lockdown را فعال نمایید. همچنین می توانید با استفاده از دستورات زیر از طریق کنسول ESXi نیز این حالت را فعال و یا غیر فعال نمایید:
To enable lockdown mode:

vim-cmd -U dcui vimsvc/auth/lockdown_mode_enter

To disable lockdown mode:

vim-cmd -U dcui vimsvc/auth/lockdown_mode_exit

– حذف سخت افزارهای مجازی غیر ضروری
از آنجاییکه در سال های اخیر چندین مورد نفوذ به ماشین مجازی از طریق درایورهای سخت افزار های مجازی صورت گرفته است پیشنهاد می شود پس از ایجاد ماشین مجازی سخت افزار هایی که نیاز نمی باشند را حذف نمایید.
برای این منظور می توانید از قسمت زیر از طریق GUI سخت افزار های غیر نیاز را حذف نمایید:
Edit Settings–>Hardware

و یا پارامتر های زیر را به فایل .vmx ماشین مجازی اضافه نمایید:
 
“floppyX.present=”false

“floppy drives=”false

“serialX.present=”false

“serial ports=”false

“parallelX.present=”false

“parallel ports=”false

“usb.present=”false

“USB controller=”false

“ideX:Y.present=”false

“CD-ROM=”false

– غیر فعال نمودن copy و paste
vSphere client از عملیات copy و paste متن پشتیبانی می کند. سناریویی را در نظر بگیرید که در آن شما به هاست ESXi متصل شده اید و پسورد کاربر administrator سرور مجازی خود را کپی کرده اید. این پسورد در clipboard نرم افزار vSphere client ذخیره می شود در نتیجه اگر فرد دیگری به هاست ESXi متصل شود می تواند داده ذخیره شده در clipboard را بر روی سیستم لوکال خود کپی نماید. از این رو پیشنهاد می شود به منظور جلوگیری از ذخیره داده در clipboard عملیات copy و paste را از طریق اضافه نمودن پارامترهای زیر غیر فعال نمایید:
“isolation.tools.copy.disable = “true

“isolation.tools.paste.disable =”true

– جلوگیری از Disk Shrinking
Disk shrinking به زبان ساده مشابه عملیات Disk defragmentation در سطح ماشین مجازی می باشد. در واقع می توان با عملیات shrinking فضاهای خالی موجود بر روی دیسک مجازی را یکپارچه نمود. لازم به ذکر است زمانیکه عملیات shrinking انجام می شود ماشین مجازی موقتا از دسترس خارج می شود. همچنین shrinking توسط هر کاربری قابل انجام می باشد. حال اگر کاربری و یا بدافزاری باعث شود که یک ماشین مجازی مدام عملیات shrink را انجام دهد در واقع به نوعی باعث حمله DOS می شود و عملا کار ماشین مجازی را مختل می نماید. می توانید با اضافه نمودن پارامتر های زیر عملیات Disk Shrinking را برای یک ماشین مجازی غیر فعال نمایید:
“isolation.tools.diskWiper.disable=”true

“isolation.tools.diskShrink.disable=”true

– فعال سازی Log
معمولا لاگ ها بهترین امکان برای رهگیری کارهای انجام شده توسط کاربران و پروسس ها و نیز رفع مشکلات به وجود آمده در یک سیستم نرم افزاری می شود. از اینرو پیشنهاد می شود درصورت فعال نبود لاگ برای ماشین های مجازی، با استفاده از پارامترهای زیر آنها را فعال نمایید:
log.rotateSize=maximum_size, 100kB

log.keepOld=number_of_files_to_keep, 10

– محدود کردن Remote Console
به صورت پیشفرض console یک ماشین مجازی بین تمامی کاربران مشترک می باشد بدین معنی که همزمان دو کاربر مختلف می توانند console مربوط به یک ماشین مجازی را همزمان در اختیار داشته باشند. به منظور جلوگیری از این امکان که در واقع باعث جلوگیری از انجام عملیات جاسوسی (spying on remote console) می شود می توانید پارامتر زیر را تنظیم نمایید:
RemoteDisplay.maxConnections=1

-پیکربندی امنیتی بر روی شبکه ماشین مجازی
به منظور جلوگیری از تبدیل شدن یک ماشین مجازی به zombie و انجام عملیات مخرب توسط آن و نیز جلوگیری از انجام عملیاتی مانند IP spoofing و MAC address spoofing توسط ماشین مجازی، پیشنهاد می شود مطابق عکس زیر پارامترهای امنیتی مربوط به vSwitch بر روی هاست ESXi را به صورت rejected تنظیم نمایید.

 

– تنظیم Time out برای vSphere Client
یکی از ملاحظات امنیتی که بر روی دسترسی از طریق console و یا shell انجام می شود تنظیم زمانی به عنوان زمان inactivity timeout می باشد. بدین معنی زمانیکه شما به console یک ماشین مجازی متصل شده اید در صورت عدم فعالیت در مدت زمان خاص session شما منقضی شود. و برای فعال سازی مجدد نیاز به وارد نمودن پسورد داشته باشد. برای فعال نمودن این حالت می توانید از پارامتر های زیر استفاده نمایید (زمان به دقیقه می باشد):
vpxClient.exe -inactivityTimeout 5

– حذف ایمن ماشین مجازی
زمانیکه یک ماشین مجازی پاک می شود و فضای storage آن در اختیار ماشین مجازی دیگری قرار می گیرد امکان ریکاوری و بازگردانی داده های ماشین مجازی قبلی وجود دارد. ازین رو برای پاک کردن داده های مربوط به ماشین های مجازی و جلوگیری از دسترسی احتمالی به داده های آن، از secure delete استفاده نمایید. در واقع با این کار تمام فضای هارد مجازی با داده ‘۰’ پر می شود. بدین منظور ابتدا ماشین مجازی که می خواهید پاک کنید را stop و یا shutdown نمایید و سپس دستور زیر را اجرا نمایید:
vmkfstools –writezeroes filename.vmdk

– غیر فعال کردن مکانیزم NX/XD
به منظور جلوگیری از دسترسی برخی از پروسس ها و بدافزارها در داخل ماشین مجازی به پردازنده اصلی و اجرای برخی از کدهای مخرب پیشنهاد می شود سویچ NX/XD که مربوط به اجرای پروسس ها در پردازنده های AMD و Intel می شوند را غیر فعال نمایید. البته لازم به ذکر است فعال نمودن این مکانیزم در هنگام انجام عملیات migration می تواند باعث افزایش کارایی و سرعت عمل انجام مهاجرت شود. می توانید مطابق عکس از مسیر زیر پس از خاموش نمودن ماشین مجازی این مکانیزم را فعال و یا غیر فعال نمایید:
Edit Settings–>Options–>CPUID MASK