آموزش vSphere 8 Security Hardening – بخش اول

بررسی امنیت در VMware vSphere v8: تنظیمات سخت‌افزار امنیتی برای حفاظت از زیرساخت مجازی

در این مقاله قصد داریم به‌طور جامع به بررسی پایه‌های امنیتی 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 – بخش دوم را دنبال کنید.

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.