首页/系统/信创系统运维速查/GRUB 引导口令保护
安全加固65 条

GRUB 引导口令保护

防止通过编辑内核参数或单用户模式绕过认证:GRUB2 设引导口令(PBKDF2 哈希存 user.cfg),配合 rescue 认证才形成完整链路。

信创系统运维速查系统更新于 2026-10-13

GRUB 引导口令是做什么的

默认情况下,任何能接触物理机或控制台的人都可以在 GRUB 菜单按 e 编辑内核参数,或者进入单用户与救援模式,绕过系统登录直接获得 root 权限。GRUB2 支持设置引导口令来堵住这条路:口令经 PBKDF2 哈希后写入配置文件,菜单编辑与特定条目启动时要求验证。它与系统登录口令是两套独立机制,口令保护必须配合救援模式认证才形成完整链路。

基本信息

适用平台RPM 系(麒麟、openEuler)用 grub2- 前缀命令,deb 系用 grub- 前缀
设置口令grub2-setpassword 交互输入两次口令
口令文件/boot/grub2/user.cfg 中的 GRUB2_PASSWORD 哈希
手工生成哈希grub2-mkpasswd-pbkdf2
重新生成配置grub2-mkconfig -o /boot/grub2/grub.cfg

典型使用场景

  • 等保核查要求对引导过程做访问控制,防止通过单用户模式绕过身份认证
  • 机房门禁不严或终端部署在公共区域时,防止无关人员改内核参数进入系统
  • 运维规范要求:限制内核参数被随意修改,保证启动配置处于受控状态
  • 多系统引导环境下限制非授权用户启动到维护用条目
  • 安全事件整改项:封堵物理接触即可获取 root 的通道
  • 交付验收时逐台验证,确认口令保护在真机重启后确实生效

配置流程

配置流程
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak    # 先备份,mkconfig 会重写
grub2-setpassword                                   # 交互输入两次口令
cat /boot/grub2/user.cfg                            # 确认已生成哈希串
grub2-mkconfig -o /boot/grub2/grub.cfg              # 重新生成引导配置
grep -n 'password' /boot/grub2/grub.cfg | head      # 确认配置已写入
# 通用方式:生成 PBKDF2 哈希后写入 /etc/grub.d/40_custom
grub2-mkpasswd-pbkdf2                              # 粘贴输出到 40_custom
# 验证:重启到 GRUB 菜单按 e,应弹出认证提示

方式与适用场景

方式操作适用与注意
grub2-setpassword交互设置,自动生成 user.cfgRPM 系最省事,注意会覆盖已有口令
mkpasswd-pbkdf2生成哈希手工写入 40_custom跨发行版通用,便于纳管配置
救援模式认证设置 sulogin 或 systemd 维护口令只有引导口令而无此项仍有绕过路径
配置备份保留 grub.cfg 与 user.cfg 副本口令丢失时便于应急处理
grub2-setpassword 生成的是 PBKDF2 哈希,明文只存在于管理员记忆中;口令要纳入密码管理流程并留交接记录,避免人员变动后无人知晓。
设置引导口令会提高维护成本:口令丢失时需要救援介质处理。改完必须实际重启验证一次,并用「按 e 能否编辑」验证拦截确实生效。

易错点

  • 只设引导口令不改救援模式认证,仍可通过其他入口获得 root,防护链路并不完整
  • grub2-mkconfig 会整体重写 grub.cfg,执行前不备份,配置出错会直接导致无法引导
  • 设完不实际重启验证,不同发行版与版本的拦截行为存在差异,验收时才发现根本没生效
  • 口令不进密码管理流程,交接断档后在需要维护时无法进入引导菜单,只能动用救援介质

数据来源与参考

  • GNU GRUB 手册
  • 红帽文档(Protecting GRUB2)
  • 等保 2.0 访问控制要求
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌