什么是Secure Boot
Secure Boot 是一种基于 UEFI 固件的安全标准,他目的是确保服务器在引导过程中只加载经过加密签名和验证的可信软件。它通过防止未经授权的驱动程序、内核或应用程序启动,有效抵御恶意软件和篡改攻击,确保系统的完整性和安全性。
开启ESXi Secure Boot的6个好处
下面是几个ESXi开启Secure Boot的优势和原因,其实最终目的就是提高系统的安全性和稳定性:
- 防止恶意软件和篡改:Secure Boot 确保 ESXi 主机在引导过程中只加载经过签名和验证的驱动程序、内核以及 VIB 软件包。如果系统组件未经加密签名或被篡改,Secure Boot 会阻止其加载。这有效防止了恶意软件通过篡改引导过程来攻击系统。
- 提高系统完整性:通过验证引导加载程序、内核和 VIB 软件包的完整性,Secure Boot 确保 ESXi 主机启动的每个环节都可信赖,避免了因驱动或模块被恶意修改而导致的安全漏洞和不稳定情况。
- 遵从企业安全策略:许多企业对 IT 基础设施安全有严格的要求,特别是在涉及数据中心和虚拟化环境时,这个其实也是大家要开启Secure Boot的最主要原因。启用 Secure Boot 有助于企业符合严格的合规性要求和安全标准,如 PCI-DSS、HIPAA 等,确保主机在引导过程中保持最高的安全性。
- 支持 TPM 集成,提升安全性:在 vSphere 7.0 Update 2 及更高版本中,启用 Secure Boot 后可与 TPM(可信平台模块)集成。TPM 可进一步增强系统安全性,保护敏感信息不被泄露,特别是在重启过程中。这对于需要加密保护或高级安全机制的环境尤为重要。
- 防止未经授权的软件加载:通过启用 Secure Boot,ESXi 主机只允许加载经过 VMware 或受信任第三方签名的驱动和模块,防止未经授权的软件包或驱动程序进入系统。这降低了安全隐患,尤其是在虚拟化环境中操作多个不同租户或应用的情况下。
- 自动化安全检查:启用 Secure Boot 后,系统在每次启动时会自动检查引导链的完整性和安全性,确保只有经过验证的软件和模块可以加载,简化了管理员的手动检查工作,减少了人为错误的可能性。
怎么开启Secure Boot?
Secure Boot是服务器硬件的功能,大部分现代的服务器厂商都支持Secure Boot的了。
一般来说服务器开启Secure Boot安全启动的位置都在UEFI的BIOS内,下图戴尔服务器为例:
ESXi 如何使用 UEFI Secure Boot
从 vSphere 6.5 开始,ESXi 在引导堆栈的每个层次都支持 UEFI Secure Boot。其具体工作方式如下:
- 引导加载程序验证:在 vSphere 6.5 及更高版本中,ESXi 的引导加载程序包含 VMware 公钥。引导加载程序使用此公钥来验证内核的签名以及系统中的一小部分关键组件,包括 Secure Boot VIB 验证器。
- VIB 验证器:VIB 验证器会验证系统中安装的每个 VIB 软件包的签名。
怎么确认ESXi是否可以开启Secure Boot?
首先两个先决条件:
- ESXi版本要6.5以上
- 服务器硬件要支持Secure Boot.
VMware ESXi有一个自带的脚本Secure Boot Validation Script,这个脚本的位置在/usr/lib/vmware/secureboot/bin/secureBoot.py。
他可以帮你验证你的ESXi是否可以开启Secure Boot, 这个脚本的验证内容有两个:
- 检查硬件是否支持 UEFI 安全启动:确保硬件具备启用 UEFI 安全启动的能力。
- 检查所有 VIB(vSphere 安装包)的签名:确保所有安装的 VIB 签名的接受级别至少为 PartnerSupported。如果包含 CommunitySupported 级别的 VIB,系统将无法使用 Secure Boot。
确认ESXi是否可以开启安全启动,只需运行一次这个脚本就可以:
1.首先查看硬件是否开启了Secure Boot, 当然这个动作最好在服务器BIOS检查,但是这个VM脚本也可以:
/usr/lib/vmware/secureboot/bin/secureBoot.py --check-status
或者/usr/lib/vmware/secureboot/bin/secureBoot.py -s
上面案例的Disabled表示硬件上还没有开启Secure Boot安全启动。
2. 检查ESXi是否可以开启Secure Boot
/usr/lib/vmware/secureboot/bin/secureBoot.py --check-capability
或者/usr/lib/vmware/secureboot/bin/secureBoot.py -c
如果结果为“Secure boot can be enabled: All vib signatures verified. All tardisks validated. All acceptance levels validated”,证明预检查通过,所有 VIB 签名已验证。所有 tardisk 文件已验证。所有接受级别已验证。此时你就可以放心重启ESXI,进BIOS开启Secure Boot.