4. UEFI/BIOS安全基线设置

UEFI/BIOS 是服务器加电后最先执行的固件层,它决定了谁有权修改启动配置、哪些设备可以被系统识别、以及固件本身能否被降级替换。对 ThinkSystem 服务器而言,固件安全基线不是“装完系统再补”的收尾工作,而应在交付前与 BMC/XCC 基线一并固化。本节围绕安全启动、管理员密码策略、启动顺序锁定、I/O 设备禁用、固件回滚保护与配置导出六个要点展开,并给出可落地的操作路径与判断依据。

安全启动:从“能启动”到“只启动可信镜像”

Secure Boot 的核心机制是:固件只加载由受信任密钥签名的引导加载程序与内核。ThinkSystem 在 UEFI Setup 的 Security → Secure Boot 中提供启用开关,并支持标准模式与自定义模式。标准模式使用微软 UEFI CA 与厂商预置密钥,适合 Windows Server 与主流 Linux 发行版;自定义模式允许导入企业自有 PK/KEK/db,适合需要严格控制镜像来源的场景。

启用前需确认两点:一是操作系统与引导程序支持 UEFI Secure Boot(例如 RHEL、SLES、Windows Server 2016 及以上均支持);二是若使用自定义密钥,必须先在测试环境验证签名链,否则误删 PK 会导致固件进入 Setup Mode,反而降低安全性。启用后可通过 dmesg | grep -i secure 或 mokutil --sb-state 在操作系统侧确认状态,输出 SecureBoot enabled 即表示生效。

管理员密码策略:区分开机密码与管理员密码

ThinkSystem 固件层有两类密码:Power-On Password(开机密码)和 Administrator Password(管理员密码)。安全基线要求至少设置管理员密码,防止未授权人员进入 Setup 修改启动项或关闭安全启动。密码策略应满足:长度不少于 8 位、包含大小写字母与数字、不使用默认值或与 BMC 相同口令、并记录在受控的密码管理系统中。

需要特别注意的是,管理员密码一旦遗忘,清除需要通过主板跳线或 XCC 授权操作,可能造成配置丢失。因此建议在设置前先导出当前配置,并在变更记录中登记密码保管责任人。若环境使用集中管理,可通过 XCC 的 OneCLI 批量下发密码策略,避免逐台手工设置。

启动顺序锁定与 I/O 设备禁用

启动顺序被篡改是常见的持久化攻击手法:攻击者将服务器引导至外部 USB 或网络镜像,从而绕过操作系统层控制。基线要求将启动顺序固定为“本地硬盘 → 内部 RAID → 网络(仅在需要时)”,并禁用 Boot from USB 与 Boot from Network 的临时选择。在 UEFI Setup 的 Boot Manager 中可调整顺序,并通过管理员密码锁定。

I/O 设备禁用则针对不使用的接口,例如前置 USB、内置串口、未使用的 PCIe 插槽与板载网口。禁用后既减少攻击面,也避免误接设备导致启动异常。操作路径为 Devices and I/O Ports,逐项将 USB Support、Serial Port 等设为 Disabled。需注意:禁用板载网口可能影响 XCC 共享口管理,变更前应确认带外管理路径不受影响。

ThinkSystem UEFI/BIOS 安全基线控制链 固件层六项控制点与启动信任路径 UEFI/BIOS 固件层 ① 安全启动 Secure Boot PK/KEK/db 签名验证 ② 管理员密码策略 Power-On / Admin 双密码 ③ 启动顺序锁定 固定本地盘优先 ④ I/O 设备禁用 USB / 串口 / 空闲 PCIe ⑤ 固件回滚保护 禁止降级到旧版本 ⑥ 配置导出与备份 XCC / UEFI 配置存档 信任路径:固件 → 签名引导程序 → 内核 → 操作系统,任一环节未通过则拒绝加载 合规状态判断 • Secure Boot = Enabled • Admin Password 已设置且非默认 • 启动顺序无外部设备优先项 风险信号 • Secure Boot 被关闭或处于 Setup Mode • 存在未授权的 USB/网络启动项 • 固件版本低于基线且可回滚

固件回滚保护:防止“降级绕过”

攻击者若能将固件降级到存在已知漏洞的旧版本,就能绕过新版本中的安全修复。ThinkSystem 在固件更新策略中提供回滚保护选项,启用后固件会拒绝安装低于当前安全版本的镜像。该选项通常位于 Firmware Update 或 XCC 的固件管理界面中,与 Secure Flash 配合使用。

实际操作中,建议先通过 XCC 查看当前固件版本与可用的最低允许版本,再决定是否启用回滚保护。若环境需要保留一次可控降级窗口(例如新固件与某驱动不兼容),应在变更窗口内临时关闭保护、完成降级后立即重新启用,并在变更记录中说明原因与恢复时间。判断保护是否生效的方法是:尝试刷入一个低于基线版本的固件包,若更新被拒绝并提示版本不允许,即表示保护已生效。

配置导出:让基线可复制、可审计

完成上述设置后,必须导出配置作为基线存档。ThinkSystem 提供两种导出方式:一是 UEFI Setup 中的 Save Settings to File,将当前固件配置保存为可导入的文件;二是通过 XCC 的 Configuration → Export 导出包含 BMC 与 UEFI 设置的完整配置。导出文件应包含:固件版本、Secure Boot 状态、密码策略标志、启动顺序、I/O 禁用项与回滚保护状态。

建议将导出文件与变更单、密码保管记录一并归档,并在每次固件升级或硬件变更后重新导出。若批量部署,可将基线配置作为模板,通过 XCC OneCLI 或 Firmware Update 工具批量导入,从而保证同型号服务器固件层配置一致。下表给出一个可参考的基线检查项示例。

检查项 推荐值 查看位置 判断依据
Secure Boot Enabled(标准或自定义) Security → Secure Boot OS 侧 mokutil 显示 enabled
Administrator Password 已设置,≥8 位混合字符 Security → Password 进入 Setup 需输入密码
启动顺序 本地硬盘优先,禁用 USB/网络临时启动 Boot Manager 无外部设备排在首位
I/O 设备 未使用接口设为 Disabled Devices and I/O Ports OS 中不出现对应设备
固件回滚保护 Enabled Firmware Update / XCC 低版本固件包被拒绝
配置导出 已导出并归档 Save Settings / XCC Export 文件可导入且版本一致
建议在交付前执行一次“冷启动验证”:断电后重新加电,确认服务器仍按锁定顺序从本地盘启动,且未提示任何未授权设备。该验证能同时覆盖启动顺序锁定与 I/O 禁用两项设置的实际效果。
修改管理员密码、关闭 Secure Boot 或禁用板载管理网口前,务必确认带外管理通道可用,并保留至少一条可回退路径。固件层配置错误可能导致服务器无法进入操作系统,恢复成本远高于操作系统层变更。

综上,UEFI/BIOS 安全基线的六项设置并非孤立开关,而是共同构成从固件到操作系统的信任链。安全启动决定“能加载什么”,密码策略决定“谁能改”,启动顺序与 I/O 禁用决定“从哪里启动”,回滚保护决定“能否被降级”,配置导出则让整套基线可复制、可审计。按上述路径逐项落实并留存导出文件,即可在交付阶段形成可验证的固件层安全基线。