
در این مقاله قصد داریم بهطور جامع به بررسی پایههای امنیتی VMware vSphere v8 بپردازیم و تنظیمات امنیتی مختلف این پلتفرم را که به سختافزار امنیتی معروف است، تحلیل کنیم. سختافزار امنیتی در vSphere v8 بخش حیاتی حفاظت از دادهها و زیرساختهای مجازی است که در این مقاله، با استفاده از PowerCLI به ارزیابی و اصلاح تنظیمات امنیتی پرداخته خواهد شد. این کار به شما کمک میکند تا سطح امنیتی سیستم را بررسی کرده و آن را با استانداردهای امنیتی شرکت خود تطبیق دهید.
اهمیت سختافزار امنیتی در vSphere v8
در دنیای مجازیسازی، امنیت یکی از ارکان اصلی است که برای حفاظت از زیرساختهای مجازی، دادهها و ارتباطات در محیطهای مجازی ضروری است. پلتفرم vSphere v8 بهعنوان یکی از پرکاربردترین پلتفرمهای مجازیسازی، نیازمند پیکربندی و تنظیمات امنیتی صحیح است تا از تهدیدات امنیتی مختلف مانند حملات شبکهای، نفوذ به سیستمها، و آسیبهای مرتبط با آدرسدهی MAC جلوگیری شود.
تنظیمات امنیتی در vSphere v8
در این مقاله، به تنظیمات امنیتی vSphere v8 و روشهای ارزیابی آن پرداختهایم. این تنظیمات شامل ارزیابی وضعیت کنونی و اعمال اصلاحات امنیتی با استفاده از PowerCLI است. ابزار PowerCLI به مدیران کمک میکند تا با اعمال تنظیمات امنیتی، سطح امنیتی زیرساختهای مجازی خود را با استانداردهای امنیتی تطبیق دهند و از آسیبپذیریهای احتمالی جلوگیری کنند.
منابع برای افزایش امنیت زیرساختهای مجازی
برای ارتقای امنیت زیرساختهای مجازی، منابع مختلفی وجود دارد که میتوانند در این فرآیند مفید باشند. این منابع شامل ابزارها، مستندات و راهنماییهای امنیتی هستند که در راستای سختافزار امنیتی در vSphere v8 قابل استفادهاند. پیشنهاد میشود پس از استفاده از این منابع، تنظیمات امنیتی را بهطور کامل اعمال کرده و به استانداردهای امنیتی شرکت یا سازمان خود پایبند باشید.
پیکربندی سوئیچهای شبکه برای جلوگیری از تغییر آدرس MAC
یکی از تنظیمات حیاتی برای افزایش امنیت در vSphere v8، پیکربندی سوئیچهای استاندارد و گروههای پورت آنها است. این سوئیچها باید بهگونهای پیکربندی شوند که تغییرات آدرس MAC مهمان را رد کنند. در صورت تغییر آدرس MAC توسط سیستمعامل ماشین مجازی، ممکن است فریمهایی با آدرس MAC جعلی ارسال شوند که به آنها اجازه میدهد تا بهعنوان آداپتور شبکه مجاز شناخته شوند و حملات مخرب به دستگاههای داخل شبکه انجام دهند.
این حملات میتوانند تهدیدات جدی برای امنیت شبکه ایجاد کنند، بنابراین برای جلوگیری از این حملات، باید تنظیماتی برای تثبیت آدرس MAC اعمال شود و توانایی تغییر آدرس MAC محدود گردد. این اقدامات باعث کاهش خطر جعل آدرس MAC و فعالیتهای مخرب احتمالی میشود.
ارزیابی با PowerCLI:
برای ارزیابی پیکربندی امنیتی سوئیچها و گروههای پورت استاندارد، از دستور PowerCLI زیر میتوان استفاده کرد:
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | select VirtualSwitch,MacChanges
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | select VirtualPortGroup,MacChanges
اصلاح با PowerCLI:
برای اعمال اصلاحات و اطمینان از اینکه تغییرات آدرس MAC رد شوند، میتوان از دستور زیر استفاده کرد:
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | Set-SecurityPolicy -MacChanges $false Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | Set-SecurityPolicy -MacChangesInherited $true
پیکربندی یک مکان ثبت لاگ پایدار برای تمام لاگهای ذخیره شده محلی در میزبان ESXi: esxi-8.logs-persistent
ESXi میتواند برای ذخیره فایلهای لاگ در یک سیستم فایل در حافظه پیکربندی شود. این اتفاق زمانی رخ میدهد که دایرکتوری “/scratch” میزبان به “/tmp/scratch” لینک شود. در این صورت، تنها لاگ یک روز ذخیره میشود و فایلهای لاگ پس از هر بار راهاندازی مجدد بازنشانی میشوند. این کار یک خطر امنیتی ایجاد میکند، زیرا فعالیتهای کاربری ثبت شده در میزبان فقط به طور موقت ذخیره میشود و پس از راهاندازی مجدد میزبان، از بین میرود. علاوه بر این، میتواند فرایند ممیزی را پیچیده کند و نظارت بر رویدادها و تشخیص مشکلات را دشوارتر نماید. بنابراین توصیه میشود که میزبان ESXi طوری پیکربندی شود که لاگها در یک دیتاستور پایدار ذخیره شوند. شما میتوانید از طریق پارامتر پیشرفته ScratchConfig.CurrentScratchLocation تشخیص دهید که آیا حجم Scratch موقتی است یا پایدار.
اگر وقتی آن را درخواست میکنید، مقدار “/tmp/scratch” را برگرداند، این بدان معنی است که حجم موقتی است و باید ذخیرهسازی رکوردهای ممیزی را به یک دستگاه پایدار منتقل کنید. این نمیتواند یک دیتاستور vSAN باشد مگر اینکه Syslog.global.vsanBacking تنظیم شود که دارای محدودیتها و وابستگیهایی است. فرض کنید تنها ذخیرهسازی محلی شما، غیر از vSAN، رسانه SD یا USB است (که میتواند به دلیل نوشتنهای مکرر از لاگها، غیرقابل اعتماد شود). در این صورت، پیشنهاد میشود که لاگها را در حافظه RAM ذخیره کنید و یک میزبان لاگگیری از راه دور پیکربندی کنید. تصمیم و دلیل آن را برای آمادگی برای ممیزیهای آینده مستند کنید.
ارزیابی PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $ESXcli.system.syslog.config.get.Invoke() | Select LocalLogOutput,LocalLogOutputIsPersistent
اگر LocalLogOutput به یک دایرکتوری در /scratch تنظیم شده باشد و LocalLogOutputIsPersistent مقدار true را برگرداند، این بدان معنی است که دستگاه بوت شما از نوع و اندازهای است که باعث میشود /scratch پایدار شود. مطمئن شوید که ذخیرهسازی لاگ شما همچنین در /scratch قرار دارد و /scratch به یک دیتاستور VMFS اشاره میکند:
Get-VMHost -Name $ESXi | Get-AdvancedSetting ScratchConfig.CurrentScratchLocation Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logDir
رفع PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logDir | Set-AdvancedSetting -Value "
پیکربندی یک سرور لاگ از راه دور برای میزبان ESXi: esxi-8.logs-remote
لاگگیری از راه دور به یک سرور لاگ مرکزی، یک ذخیرهسازی امن و متمرکز برای لاگهای ESXi فراهم میآورد. جمعآوری فایلهای لاگ میزبانها در یک میزبان مرکزی به شما این امکان را میدهد که به راحتی از یک ابزار واحد برای نظارت بر همه میزبانها استفاده کنید. همچنین میتوانید تجزیه و تحلیل تجمیعی انجام دهید و جستجو کنید تا حملات هماهنگشده روی چندین میزبان را شناسایی کنید. لاگگیری به یک سرور لاگ امن و متمرکز به جلوگیری از دستکاری لاگها کمک میکند و اطمینان حاصل میکند که رکوردهای ممیزی برای مدت طولانی حفظ میشوند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logHost
رفع PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logHost | Set-AdvancedSetting -Value "
پیکربندی بنر ورود به سیستم میزبان ESXi برای DCUI و Host Client: esxi-8.annotations-welcomemessage
ESXi امکان نمایش یک پیام ورود را فراهم میآورد که معمولاً برای جلوگیری از ورود مهاجمان با اعلام غیرقانونی بودن فعالیتهای آنها و اطلاعرسانی به کاربران مجاز در مورد مسئولیتها و شرایط استفاده از سیستم مورد استفاده قرار میگیرد. هرچند که این یک کنترل امنیتی فنی مستقیم نیست، اما تاثیرات مثبتی در اجرای قوانین و پیگرد قانونی در صورت دستگیری مهاجمان دارد. این پارامتر متن نمایش داده شده در صفحه ورود به سیستم Host Client و DCUI را تعریف میکند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Annotations.WelcomeMessage
رفع PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Annotations.WelcomeMessage | Set-AdvancedSetting -Value "Authorized users only. Actual or attempted unauthorized use of this system is prohibited and may result in criminal, civil, security, or administrative proceedings and/or penalties. Use of this information system indicates consent to monitoring and recording, without notice or permission. Users have no expectation of privacy in any use of this system. Any information stored on, or transiting this system, or obtained by monitoring and/or recording, may be disclosed to law enforcement and/or used in accordance with Federal law, State statute, and organization policy. If you are not an authorized user of this system, exit the system at this time."
پیکربندی تایماوت عدم فعالیت برای خاتمه خودکار شلهای میزبان ESXi غیرفعال: esxi-8.shell-interactive-timeout
اگر کاربری فراموش کند از جلسه SSH خود خارج شود، اتصال غیرفعال به طور نامحدود باز خواهد ماند و این میتواند احتمال دسترسی غیرمجاز به میزبان را افزایش دهد.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellInteractiveTimeOut
رفع PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellInteractiveTimeOut | Set-AdvancedSetting -Value 900
این تنظیم باعث میشود که شلهای میزبان پس از 900 ثانیه (15 دقیقه) عدم فعالیت به طور خودکار خاتمه یابند.
پیکربندی بنر ورود برای اتصالات SSH میزبان ESXi: esxi-8.etc-issue
ESXi امکان نمایش یک پیام ورود را فراهم میآورد که معمولاً برای جلوگیری از ورود مهاجمان و اطلاعرسانی به کاربران مجاز در مورد مسئولیتهای استفاده از سیستم مورد استفاده قرار میگیرد. این پارامتر متنی را که هنگام اتصال SSH نمایش داده میشود، تعریف میکند. توصیه میشود که SSH در حالت متوقف شده نگه داشته شود مگر در موارد عیبیابی. عدم انطباق پیادهسازی بین ESXi و vCenter Server نیاز به “issue” در Config.Etc.issue به صورت حروف کوچک دارد تا در هر دو سناریو به درستی عمل کند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.Etc.issue
رفع PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.Etc.issue | Set-AdvancedSetting -Value "****************************************************************************`n* Authorized users only. Actual or attempted unauthorized use of this *`n* system is prohibited and may result in criminal, civil, security, or *`n* administrative proceedings and/or penalties. Use of this information *`n* system indicates consent to monitoring and recording, without notice *`n* or permission. Users have no expectation of privacy. Any information *`n* stored on or transiting this system, or obtained by monitoring and/or *`n* recording, may be disclosed to law enforcement and/or used in accordance *`n* with Federal law, State statute, and organization policy. If you are not *`n* an authorized user of this system, exit the system at this time. *`n****************************************************************************`n"
فعالسازی حالت قفل عادی در میزبان ESXi: esxi-8.lockdown-mode
فعالسازی حالت قفل، دسترسی مستقیم به میزبان ESXi را غیرفعال کرده و نیاز دارد که میزبان از راه دور توسط vCenter Server مدیریت شود. این اطمینان میدهد که نقشها و کنترلهای دسترسی پیادهسازی شده در vCenter بهطور مداوم اعمال میشوند و کاربران نمیتوانند آنها را با ورود مستقیم به میزبان دور بزنند. با اجبار به اینکه تمام تعاملات از طریق vCenter Server انجام شود، ریسک دستیابی به امتیازات بالاتر یا انجام وظایف با ممیزی ضعیف بهطور قابل توجهی کاهش مییابد. توجه داشته باشید که کاربران در فهرست کاربران استثنا برای هر میزبان میتوانند حالت قفل را لغو کرده و وارد شوند. بهطور پیشفرض هیچ کاربری در فهرست کاربران استثنا وجود ندارد. سه تنظیم برای حالت قفل وجود دارد: غیرفعال، عادی و سختگیرانه. انتخاب حالت سختگیرانه به این معنا است که اگر میزبان ESXi ارتباط خود را با vCenter Server از دست بدهد، نمیتوان آن را به هیچ وجه مدیریت کرد تا زمانی که این ارتباط بازیابی شود. اگر ارتباط نتواهد بازیابی شود، میزبان باید دوباره ساخته شود. این سطح از حالت قفل معمولاً برای بیشتر پیادهسازیها غیرضروری است و میتواند چالشهای عملیاتی قابل توجهی ایجاد کند. بنابراین، توصیه میشود که از حالت قفل عادی استفاده کنید.
ارزیابی PowerCLI:
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).LockdownMode
رفع PowerCLI:
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).ChangeLockdownMode('lockdownNormal')
اطمینان از غیرفعال بودن رابطهای شبکه داخلی، شبیهسازیشده یا مجازی کنترلکننده سختافزار یکپارچه: hw-8.management-controller-oob-nic
بسیاری از سرورها دارای کنترلکنندههای مدیریت سختافزار یکپارچه هستند که میتوانند رابطهای شبکه مجازی را به ESXi به عنوان یک رابط مدیریت ارائه دهند. این روشها میتوانند دروازههای پشتی برای دسترسی فراهم کنند و توسط مهاجمان برای دور زدن فایروالهای شبکهای/محیطی در هر دو جهت و جلوگیری از مشاهده توسط ابزارهای IDS/IPS/تحلیل تهدیدات استفاده شوند. در بسیاری از موارد، این عملکرد هنگام مدیریت میزبانها اختیاری است. برای جلوگیری از این تهدیدات امنیتی، توصیه میشود که این رابطها غیرفعال شوند.
اطمینان از اینکه استفاده از کنترلکنندههای مدیریت سختافزار یکپارچه از Active Directory منجر به ایجاد حلقه وابستگی یا یک نقطه ضعف حمله نشود: hw-8.management-controller-oob-ad
اتصالات به منابع احراز هویت متمرکز، مانند Active Directory، باید غیرفعال یا با دقت مورد بررسی قرار گیرند، زیرا ممکن است به عنوان نقطه ضعف حمله یا حلقههای وابستگی (برای احراز هویت، مجوز، DNS، DHCP و زمان) عمل کنند. پیشنهاد میشود حسابهای محلی روی این دستگاهها از طریق APIها و رابطهای خط فرمان (CLI) مدیریت شوند. اگر استفاده از Active Directory برای احراز هویت ضروری است، باید مجوزها بهطور محلی انجام شود تا حملهکنندهای که به Active Directory دسترسی دارد نتواند از طریق عضویت در گروهها خود را ارتقا دهد. این فرآیند به جلوگیری از ایجاد مشکلات امنیتی و تقویت مدیریت و کنترلهای محلی کمک میکند.
اطمینان از نصب و فعال بودن TPM 2.0 روی میزبان: hw-8.hardware-tpm
ESXi میتواند از ماژولهای پلتفرم قابل اعتماد (TPM) 2.0 برای فعالسازی ویژگیهای امنیتی پیشرفته استفاده کند که از بدافزار جلوگیری میکند، وابستگیها را حذف میکند و عملیات چرخه عمر سختافزار را امن میسازد. به شدت توصیه میشود که تمام سرورها با یک TPM 2.0 پیکربندی شوند و TPM در فرمویر سیستم فعال باشد.
ارزیابی PowerCLI:
(Get-VMHost -Name $ESXi | Get-View).Capability.TpmSupported (Get-VMHost -Name $ESXi | Get-View).Capability.TpmVersion
این دستورات بررسی میکنند که آیا TPM در سیستم پشتیبانی میشود و نسخه آن چیست.
اطمینان از اینکه تمام فرمویرهای سیستم و دستگاه قابل ممیزی، اصیل و بهروز هستند: hw-8.hardware-firmware
فرمویر سختافزار در برابر مشکلات جدی که میتوانند بر محرمانگی، یکپارچگی یا دسترسیپذیری تأثیر بگذارند، آسیبپذیر است. کنترلکنندههای سیستم آسیبپذیر و موتورهای مدیریت میتوانند نقاطی برای مهاجمان باشند تا پس از راهاندازی مجدد و بهروزرسانیها، دسترسی پایداری ایجاد کنند و میزبانها را مجدداً آلوده و به خطر بیاندازند. اطمینان حاصل کنید که آخرین بهروزرسانیهای فرمویر به تمام اجزای سیستمهای شما اعمال شدهاند و فرمویر اصیل و از تولیدکننده سختافزار شما تأمین شده است. این اقدامات به کاهش خطرات امنیتی و اطمینان از عملکرد درست سیستمها کمک میکند.
اطمینان از اینکه کنترلکنندههای مدیریت سختافزار یکپارچه کاملاً ایمن شدهاند: hw-8.management-controller-security
بسیاری از سرورها دارای کنترلکنندههای مدیریت سختافزار یکپارچه هستند که میتوانند در نظارت و بهروزرسانی سختافزار، تنظیمات و فرمویر بسیار مفید باشند. باید این کنترلکنندهها را بررسی کنید تا اطمینان حاصل شود که:
- تمام قابلیتهای غیرمستعمل غیرفعال شدهاند.
- تمام روشهای دسترسی غیرمستعمل غیرفعال شدهاند.
- رمزهای عبور و کنترلهای رمز عبور به درستی تنظیم شدهاند.
- فایروالها و کنترل دسترسی به درستی پیکربندی شدهاند تا تنها ایستگاههای کاری مجاز برای تیم مدیریت مجازیسازی بتوانند دسترسی داشته باشند.
- تمام گزینههای پیکربندی “اولین بار راهاندازی” باید غیرفعال شوند، به ویژه آنهایی که سیستم را از طریق دستگاههای USB وارد شده دوباره پیکربندی میکنند.
- پورتهای USB متصل به کنترلکنندههای مدیریت باید غیرفعال یا محافظت شوند و تنها به کیبوردها اجازه دسترسی داده شود.
- رمزهای عبور پیشفرض حسابها باید تغییر کنند.
- نمایشگرهای اطلاعات خارجی باید امن شوند تا از نشت اطلاعات جلوگیری شود.
- دکمههای قدرت و اطلاعات باید در برابر استفاده غیرمجاز محافظت شوند.
بسیاری از کنترلکنندههای مدیریت سختافزار مکانیزمهایی برای اطلاعرسانی در هنگام وقوع خطاهای سختافزاری و تغییرات پیکربندی دارند. در صورتی که از روشی غیر از روش نظارت سختافزاری استفاده میکنید، باید این گزینهها را مد نظر قرار دهید.
اطمینان از اینکه کنترلکنندههای مدیریت سختافزار یکپارچه زمان خود را هماهنگ کردهاند: hw-8.management-controller-timekeeping
رمزنگاری، لاگگیری ممیزی، عملیات خوشهای و پاسخ به حوادث/تحقیقات قضایی به شدت به زمان هماهنگ شده وابسته هستند. این توصیه شامل تمام دستگاهها در زیرساخت میشود. برای NTP (پروتکل زمان شبکه) توصیه میشود که حداقل چهار منبع داشته باشید. از دو منبع استفاده نکنید (یک منبع به جای دو منبع ترجیح داده میشود).
اطمینان از فعال بودن Intel TXT، در صورتی که در فرمویر سیستم موجود باشد: hw-8.hardware-cpu-intel-txt
پلتفرمهای پردازنده Intel Xeon Scalable دارای فناوری Trusted Execution Technology (TXT) هستند که به سختتر کردن سیستمها در برابر بدافزارها، روتکیتها و حملات BIOS و فرمویر کمک میکند. وقتی این فناوری فعال باشد، ESXi از مزایای امنیتی که توسط این فناوری ارائه میشود، استفاده خواهد کرد.
ارزیابی PowerCLI:
(Get-VMHost -Name $ESXi | Get-View).Capability.TxtEnabled
اطمینان از اینکه لینکهای فیزیکی سوئیچها از میزبانهای ESXi با VLANهای رزرو شده توسط فروشنده پیکربندی نشدهاند: design-8.network-reserved-vlan
برخی از فروشندگان شبکه VLANهای خاصی را برای استفاده داخلی یا خاص رزرو میکنند. اطمینان حاصل کنید که پیکربندیهای شبکه vSphere شما این مقادیر را شامل نمیشود.
اطمینان از فعال بودن UEFI Secure Boot: hw-8.hardware-secure-boot
فعالسازی UEFI Secure Boot روی سختافزار میزبان ESXi به جلوگیری از بدافزارها و پیکربندیهای غیرمعتبر کمک میکند.
ارزیابی PowerCLI:
(Get-VMHost -Name $ESXi | Get-View).Capability.UefiSecureBoot
این بررسیها کمک میکنند تا اطمینان حاصل شود که سیستم شما از لحاظ امنیتی در برابر تهدیدات جدید محافظت شده است.
اطمینان از استفاده از رمزگذاری داده در حین انتقال برای vMotion (تنظیم بر روی “Required” برای ماشینهای مجازی) یا ایزوله کردن رابطهای شبکه VMkernel استفادهشده برای vMotion در بخشهای شبکهای جداگانه که دارای کنترلهای محیطی هستند: design-8.network-isolation-vmotion
vMotion و Storage vMotion دادههای حافظه و ذخیرهسازی ماشینهای مجازی را از طریق شبکه کپی میکنند. اطمینان از اینکه دادهها در حین انتقال رمزگذاری شدهاند، محرمانگی را تضمین میکند. ایزوله کردن این دادهها در یک بخش شبکه اختصاصی با کنترلهای محیطی مناسب میتواند دفاع چند لایه ایجاد کرده و مدیریت ترافیک شبکه را ممکن سازد. مانند سایر انواع رمزگذاریها، رمزگذاری vMotion ممکن است تأثیرات منفی بر عملکرد داشته باشد، اما این تغییرات تنها در فرآیند پشتیبانگیری vMotion در پسزمینه است و بر عملیات ماشین مجازی تأثیری نمیگذارد.
اطمینان از اینکه vSAN از رمزگذاری داده در حین انتقال استفاده میکند یا اینکه رابطهای شبکه VMkernel استفادهشده برای vSAN در بخشهای شبکهای جداگانه ایزوله شدهاند که دارای کنترلهای محیطی هستند: design-8.network-isolation-vsan
vSAN ویژگی رمزگذاری داده در حین انتقال را دارد که میتواند به حفظ محرمانگی در هنگام برقراری ارتباط گرههای vSAN کمک کند. مانند بسیاری از کنترلهای امنیتی، این رمزگذاری ممکن است بر عملکرد تأثیر بگذارد، بنابراین باید به دقت تاخیر ذخیرهسازی و عملکرد را هنگام فعالسازی رمزگذاری داده در حین انتقال نظارت کرد. سازمانهایی که نمیتوانند یا نمیخواهند رمزگذاری داده در حین انتقال vSAN را فعال کنند، باید ترافیک شبکه را به یک بخش شبکه اختصاصی با کنترلهای محیطی مناسب ایزوله کنند.
اطمینان از نصب تمام بهروزرسانیهای نرمافزاری ESXi: esxi-8.updates
نگهداشتن پچهای ESXi بهروز میتواند آسیبپذیریها را در هایپرویزر کاهش دهد. مهم است که توجه داشته باشیم که حملهکنندگان آموزشدیده میتوانند از آسیبپذیریهای شناختهشده برای دسترسی غیرمجاز یا ارتقای امتیازات خود بر روی میزبان ESXi سوءاستفاده کنند. هنگام اعمال بهروزرسانیها، توصیه میشود که ابتدا vCenter Server بهروزرسانی شود، در صورت وجود بهروزرسانی، و سپس بهروزرسانیهای ESXi انجام شود. این ترتیب تضمین میکند که لایه مدیریت قبل از بهروزرسانی میزبانهای ESXi بهروز شود.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Select-Object Name,Version,Build
این ارزیابی کمک میکند تا از آخرین نسخه و بهروزرسانیهای سیستمعامل ESXi آگاهی پیدا کنید.
اطمینان از اینکه میزبان ESXi نرمافزاری اجرا میکند که هنوز به وضعیت “پایان پشتیبانی عمومی” نرسیده است: esxi-8.supported
اطمینان حاصل کنید که نسخه ESXi که در حال اجرا است، هنوز به وضعیت “پایان پشتیبانی عمومی” نرسیده است.
فقط اجرای باینریهای تحویل شده از طریق VIBهای امضا شده: esxi-8.vib-trusted-binaries
ESXi بررسیهای یکپارچگی را برای “vSphere Installable Bundles” یا VIBها انجام میدهد که توسط سطح پذیرش (Acceptance Level) تنظیم میشوند. دستور دادن به ESXi برای اجرای تنها باینریهایی که از یک VIB معتبر نصبشده بر روی میزبان نشأت میگیرند، حمله به سیستم از طریق ابزارهای آمادهسازی شده را برای مهاجمان دشوارتر میکند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting VMkernel.Boot.execInstalledOnly
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting VMkernel.Boot.execInstalledOnly | Set-AdvancedSetting -Value True
تنظیم یک تایماوت برای محدود کردن مدت زمانی که سرویسهای ESXi Shell و SSH اجازه اجرا دارند: esxi-8.shell-timeout
مقدار ESXi Shell TimeOut
یک پنجره زمانی را تعریف میکند که بعد از آن، سرویسهای ESXi Shell و SSH به طور خودکار خاتمه مییابند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellTimeOut
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellTimeOut | Set-AdvancedSetting -Value 600
این اصلاحات به شما کمک میکند تا مدت زمان مجاز برای خدمات ESXi Shell و SSH را محدود کنید و همچنین فقط اجازه بدهید که باینریهای مورد تایید اجرا شوند، که امنیت سیستم را افزایش میدهد.
اطمینان از استفاده از دستگاههای دائمی با اندازه مناسب، غیر از SD و USB برای حجمهای بوت ESXi: design-8.boot-device
حافظههای فلش از اجزای سختافزاری هستند که با گذشت زمان فرسوده میشوند و هر نوشتار دادهای عمر مفید آنها را کوتاهتر میکند. SSDها و دستگاههای NVMe ویژگیهایی داخلی برای کاهش این فرسایش دارند که آنها را قابلاعتمادتر میکند. با این حال، کارتهای SD و بیشتر فلشهای USB این ویژگیها را ندارند و میتوانند به مشکلات قابلمشاهده مانند بخشهای خراب دچار شوند. بنابراین، استفاده از دستگاههای بوت معتبر و با اندازه مناسب برای ESXi این مشکلات را کاهش داده و به طور خودکار از انجام ممیزیهای امنیتی جلوگیری میکند.
میزبان ESXi باید یک تایماوت جلسه برای vSphere API تنظیم کند: esxi-8.api-soap-timeout
این روش به کاهش خطرات امنیتی احتمالی کمک میکند، زیرا تضمین میکند که جلسات بدون نظارت، که ممکن است توسط کاربران غیرمجاز یا نرمافزارهای مخرب سوءاستفاده شوند، به طور نامحدود باز نمیمانند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.vmacore.soap.sessionTimeout
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.vmacore.soap.sessionTimeout | Set-AdvancedSetting -Value 30
میزبان ESXi باید دسترسی به شل را برای حساب vpxuser رد کند: esxi-8.account-vpxuser
حساب vpxuser
توسط vCenter Server زمانی که میزبان برای اولین بار متصل میشود، ایجاد میشود و سپس برای تأیید هویتهای ویژه با ESXi استفاده میشود. این حساب به طور خودکار در فواصل زمانی معین توسط vCenter Server تغییر رمز عبور میدهد. به دلیل اینکه این حساب دسترسی شل دارد، بهتر است دسترسی شل آن غیرفعال شود تا سطح حمله کاهش یابد. پس از غیرفعال کردن دسترسی شل برای vpxuser، این حساب نمیتواند تنظیمات کاربران دیگر را تغییر دهد.
ارزیابی PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $ESXcli.system.account.list.Invoke() | Where-Object { $_.UserID -eq 'vpxuser' } | Select-Object -ExpandProperty Shellaccess
اصلاح PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $arguments = $ESXcli.system.account.set.CreateArgs() $arguments.id = "vpxuser" $arguments.shellaccess = "false" $ESXcli.system.account.set.Invoke($arguments)
این اصلاحات به شما کمک میکند تا اطمینان حاصل کنید که تنظیمات سیستم ESXi با رعایت بالاترین سطح امنیتی به درستی پیکربندی شدهاند و از سوءاستفادههای ممکن جلوگیری میشود.
میزبان ESXi باید Secure Boot را فعال کند: esxi-8.secureboot
Secure Boot بخشی از استاندارد UEFI است که با فعالسازی آن، میزبان از بارگذاری هر گونه درایور یا برنامه UEFI بدون امضای دیجیتال معتبر از بوت لودر سیستم عامل خودداری میکند. برای فعالسازی Secure Boot در ESXi، پشتیبانی از طرف فریمور و نیاز به امضای دیجیتال تمام ماژولهای هسته ESXi، درایورها و VIBها توسط VMware یا یک شریک ضروری است. Secure Boot باید در تنظیمات BIOS سرور فیزیکی ESXi فعال شود.
ارزیابی PowerCLI:
(Get-VMHost -Name $ESXi | Get-View).Capability.UefiSecureBoot
اصلاح PowerCLI: این اصلاح در سطح تنظیمات فریمور سختافزار است و باید در BIOS سرور فیزیکی انجام شود. بنابراین، این تغییر از طریق PowerCLI قابل انجام نیست.
میزبان ESXi باید اجرای Secure Boot مبتنی بر TPM را فعال کند: esxi-8.secureboot-enforcement
ویژگی TPM-based Secure Boot enforcement امنیتی فراتر از Secure Boot استاندارد را فراهم میکند. این ویژگی از یک چیپ TPM برای ذخیره و تأیید اندازهگیریهای رمزنگاری از تمام فرآیند بوت استفاده میکند، از فریمور UEFI گرفته تا هسته ESXi. این فرآیند ایجاد یک ریشه اعتماد مبتنی بر سختافزار است که جعل فرآیند بوت را بسیار دشوارتر میکند. برخلاف Secure Boot معمولی که فقط امضاهای دیجیتال را بررسی میکند، TPM-based enforcement اطمینان حاصل میکند که زنجیره بوت کامل بهطور صحیحی تأسیس شده است. این ویژگی امکان استفاده از قابلیتهای پیشرفتهای مانند attestation از راه دور برای تأیید صحت میزبان را فراهم میآورد. این کنترل، از ESXi بهطور پیشفرض از پشتیبانی Secure Boot به الزام آن تغییر وضعیت میدهد. در غیاب این تنظیم و بدون رمزنگاری فعال، یک میزبان ESXi ممکن است تحت حملات آفلاین قرار گیرد.
ارزیابی PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $ESXcli.system.settings.encryption.get.Invoke() | Select RequireSecureBoot
اصلاح PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $arguments = $ESXcli.system.settings.encryption.set.CreateArgs() $arguments.requiresecureboot = $true $ESXcli.system.settings.encryption.set.Invoke($arguments)
این تغییرات به شما کمک میکنند تا از قابلیتهای امنیتی بیشتری بهرهبرداری کنید و از حملات احتمالی جلوگیری کنید که ممکن است به صورت آفلاین صورت گیرند.
میزبان ESXi باید تخریب کلیدهای ناپایدار را فعال کند: esxi-8.memeagerzero
بهطور پیشفرض، ESXi صفحات اختصاصیافته به ماشینهای مجازی (VM)، برنامههای کاربران، و نخهای هسته را هنگام تخصیص صفر میکند تا اطمینان حاصل شود که هیچ صفحه غیرصفر به ماشینهای مجازی یا برنامههای کاربران در دسترس نباشد. برای جلوگیری از افشای کلیدهای رمزنگاری از ماشینهای مجازی یا کاربران به سایر کلاینتها، باید MemEagerZero را پیکربندی کرد تا اطمینان حاصل شود که صفحات حافظه جهان کاربر و مهمان زمانی که یک فرآیند جهان کاربر یا مهمان خاتمه مییابد، صفر میشود.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.MemEagerZero
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.MemEagerZero | Set-AdvancedSetting -Value 1
میزبان ESXi باید پیچیدگی رمز عبور را اعمال کند: esxi-8.account-password-policies
بر اساس توصیههایی مانند NIST 800-63B Section 5.1.1.2، پیشنهاد میشود که قوانین ترکیب رمز عبور، مانند الزام به ترکیب انواع مختلف کاراکترها، در سیستمها اعمال نشوند زیرا اغلب به تقویت امنیت رمز عبور کمکی نمیکنند و پذیرش پسوردهای امنتر را کاهش میدهند. این قوانین برای تمام کاربران ESXi از جمله کاربر root اعمال میشود. اما زمانی که میزبان ESXi به یک دامنه متصل شود، این قوانین برای کاربران Active Directory (AD) اعمال نمیشود زیرا سیستم AD سیاستهای رمز عبور خود را برای کاربران AD اجرا میکند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordQualityControl
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordQualityControl | Set-AdvancedSetting -Value "similar=deny retry=3 min=disabled,disabled,disabled,disabled,15 max=64"
میزبان ESXi باید ارتباطات مدیریتی را ایزوله کند: esxi-8.vmk-management
اینترنتهای شبکه VMkernel که برای استفادههای خاص پیکربندی شدهاند، میتوانند قابلیتهای مدیریتی داشته باشند که باعث میشود ایزولهسازی شبکه و تلاشهای امنیتی شکست بخورند. اطمینان حاصل کنید که فقط ارتباطات vmk که برای مدیریت استفاده میشوند، خدمات مدیریتی فعال داشته باشند.
ارزیابی PowerCLI:
Get-VMHostNetworkAdapter -VMHost $ESXi -VMKernel | Select VMHost, Name, IP, ManagementTrafficEnabled
اصلاح PowerCLI:
Get-VMHostNetworkAdapter -VMHost $ESXi -Name $vmkernel_interface | Set-VMHostNetworkAdapter -ManagementTrafficEnabled $false
میزبان ESXi باید استفاده از Virtual Guest Tagging (VGT) را در سوئیچهای استاندارد محدود کند: esxi-8.network-vgt
هنگامی که یک گروه پورت به VLAN 4095 تنظیم میشود، vSwitch تمام فریمهای شبکه را به ماشینهای مجازی (VM) متصل منتقل میکند بدون اینکه برچسبهای VLAN را تغییر دهد. در vSphere، این به عنوان VGT شناخته میشود. این تنظیم باید فقط زمانی استفاده شود که ماشینهای مجازی به طور خاص مجاز باشند تا برچسبهای VLAN را خودشان مدیریت کنند. فعالسازی نادرست VLAN 4095 میتواند منجر به عدم دسترسی به سرویس یا اجازه دادن به یک ماشین مجازی برای تعامل با ترافیک در VLAN غیرمجاز شود.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | select Name,VlanID
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard -Name $PG| Set-VirtualPortGroup -VlanID " "
میزبان ESXi باید تایید x509 را برای نقاط پایانه Remote TLS فعال کند: esxi-8.logs-remote-tls-x509
هنگام انجام تایید، گزینه “x509-strict” بررسیهای اضافی بر روی گواهیهای ریشه CA انجام میدهد.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.strictX509Compliance
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.strictX509Compliance | Set-AdvancedSetting -Value 1
میزبان ESXi باید گواهینامهها را برای نقاط پایانه Remote TLS بررسی کند: esxi-8.logs-remote-tls
گواهیهای TLS به تأسیس اصالت و اعتبار نقاط پایانه کمک میکنند.
ارزیابی PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.checkSSLCerts
اصلاح PowerCLI:
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.checkSSLCerts | Set-AdvancedSetting -Value 1
میزبان ESXi باید Daemon Secure Shell (SSH) را برای جلوگیری از استفاده از دروازههای پورت پیکربندی کند: esxi-8.ssh-gateway-ports
خدمات سیستم باید هنگام فعالسازی سختافزار شوند و ایمن شوند.
ارزیابی PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'gatewayports'} | Select-Object -ExpandProperty Value
اصلاح PowerCLI:
$ESXcli = Get-EsxCli -VMHost $ESXi -V2 $arguments = $ESXcli.system.ssh.server.config.set.CreateArgs() $arguments.keyword = 'gatewayports' $arguments.value = 'no' $ESXcli.system.ssh.server.config.set.Invoke($arguments)
این اقدامات به بهبود امنیت سیستمهای ESXi کمک کرده و اطمینان حاصل میکنند که ارتباطات و دسترسیها تنها از منابع معتبر و مورد تایید صورت گیرد. در ادامه آموزش vSphere 8 Security Hardening – بخش دوم را دنبال کنید.