GRUB原理与加固教程

GRUB (Grand Unified Bootloader) 是 Linux 系统最常用的引导加载程序。它不仅负责加载内核,还提供了多系统切换、引导参数修改等功能。

一、 GRUB 的工作原理

由于 BIOS/UEFI 无法直接识别复杂的 Linux 文件系统(如 Ext4, LVM, XFS),GRUB 采用了分阶段引导的设计:

  1. Stage 1 (MBR/EFI Part): 驻留在硬盘主引导记录或 EFI 分区中。它的唯一任务是找到并加载 Stage 1.5 或 Stage 2。
  2. Stage 1.5: 包含文件系统驱动程序,使 GRUB 能够读取 /boot/grub 目录下的内容。
  3. Stage 2: 加载图形菜单、读取配置文件(grub.cfg),并根据指令将 Linux 内核(vmlinuz)和初始化内存盘(initrd)加载到内存中。

二、 为什么要给 GRUB 加密码?

默认情况下,任何人只要能物理接触到服务器,就可以在开机时通过按 e 键进入编辑模式,在内核行末尾添加 init=/bin/bash 或 rd.break。这允许攻击者绕过 root 密码验证,直接获得最高权限的 Shell。


三、 GRUB 安全加固步骤(实战)

我们将实现:允许系统正常启动,但禁止未经授权编辑启动参数。

步骤 1:生成密码哈希值

不要使用明文密码。使用 GRUB 内置工具生成 PBKDF2 加密哈希:

bash 复制代码
grub-mkpasswd-pbkdf2

输入并确认你的密码,系统会输出一段以 grub.pbkdf2.sha512... 开头的长字符串。请完整复制这段字符串。

步骤 2:定义管理员用户

编辑自定义配置文件,不要直接修改 grub.cfg,因为它是动态生成的。

bash 复制代码
nano /etc/grub.d/40_custom

在文件末尾添加以下内容:

bash 复制代码
set superusers="admin_user"
password_pbkdf2 admin_user [刚才复制的哈希值]
步骤 3:解除正常启动的限制(可选但推荐)

默认情况下,设置 superusers 后,每次开机都要输密码。如果希望仅在编辑(按 e)时输密码,需要修改 10_linux 脚本:

bash 复制代码
# 在 --class gnu-linux 后添加 --unrestricted
sed -i 's/--class gnu-linux/--class gnu-linux --unrestricted/g' /etc/grub.d/10_linux
步骤 4:更新配置生效

执行命令将修改后的逻辑同步到真正的引导文件:

bash 复制代码
update-grub

四、 验证与总结

场景 行为 结果
开机自动等待 直接回车或等待超时 正常进入系统
按 e 编辑 尝试修改内核参数 提示输入用户名和密码
按 c 命令行 尝试进入 GRUB 控制台 提示输入用户名和密码

五、 核心命令速查表

  • 生成密码 : grub-mkpasswd-pbkdf2
  • 配置文件路径 : /etc/grub.d/ (脚本) 和 /boot/grub/grub.cfg (最终配置)
  • 应用更改 : update-grub (Debian/Ubuntu) 或 grub2-mkconfig -o /boot/grub2/grub.cfg (CentOS/RHEL)
相关推荐
kali-Myon7 分钟前
定向 FGSM 攻击:让神经网络《指猫为狗》
图像处理·python·神经网络·安全·机器学习·fgsm
新鲜势力呀34 分钟前
PHP 实战:用户登录频繁失败怎么办?从安全防护到登录系统架构优化完整方案
安全·系统架构·php
yume_sibai41 分钟前
02-Nginx进阶配置完全指南(性能优化 + 安全配置 + 缓存配置 + WebSocket代理)
nginx·安全·性能优化
深圳市尚想信息技术有限公司1 小时前
设备凝露、高湿腐蚀?ROSAHL M-7J1R国产兼容电解除湿元件(SPEC-7),工业密闭箱体防潮除凝露
安全·防潮·结露·起雾·受潮·除湿
运行时异常10 小时前
【WMS 仓储系统集成 AI Agent 实战】第 8 讲(终篇):生产部署与并发安全——Semaphore 放进 Flux.defer 的坑,压测抓了一晚上
人工智能·安全
虹科网络安全10 小时前
“顶会”看安全(十八):超越越狱:揭示由能力边界模糊引发的 LLM 应用安全风险
人工智能·安全
hasty11 小时前
OAuth 登录成功,不代表邮箱可信:Flarum 账号关联漏洞的安全编码启示
安全
国科安芯12 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
hasty13 小时前
2026软件供应链安全政策全景
安全·安全威胁分析·代码复审
小程序设计13 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全