最近,我的一个朋友来到我家,仅仅用了15分钟他就使用了一张Live CD黑掉了我的账户,并当着我的面重置了密码。我对这样的事情感到非常困惑。请指导我如何防止未来使用Live CD进行类似的攻击。
一个快速简单的方法是在您的BIOS中禁用从CD和USB设备启动,并设置BIOS密码。
根据这个维基页面:
在Grub配置文件中放置密码或锁定菜单项并不能阻止用户使用在grub命令行输入的命令手动引导。
然而,没有什么能阻止别人偷走您的硬盘并将其安装到另一台机器上,或者通过移除电池来重置您的BIOS,或者其他攻击者在物理接触到您的机器时可以使用的方法之一。
更好的方式是加密您的驱动器,您可以通过加密您的主目录或加密整个磁盘来实现:
/home
文件夹进行加密,但我不知道这是否会对密码安全有所帮助。 - Knowledge Cubelm-sensors
来检测对机箱的入侵,并触发一个脚本来清除加密密钥并引爆炸药。 - AnonymousGrub2 密码保护过程可能相当棘手,如果操作错误,有可能导致系统无法启动。因此,请务必 始终 先对硬盘进行完整的镜像备份。我的建议是使用 Clonezilla - 也可以使用其他备份工具如 PartImage。
如果您想练习这个过程,可以使用一个虚拟机来回滚快照。
下面的步骤可以防止在引导时未经授权编辑 Grub 设置,即按下 e 进行编辑以更改引导选项。例如,您可以强制引导到单用户模式,从而访问您的硬盘。
这个步骤应该与硬盘加密和安全的 BIOS 引导选项一起使用,以防止从光盘引导,详见相关问题的答案。
以下几乎所有内容都可以逐行复制粘贴。
首先,让我们备份我们将要编辑的grub文件 - 打开一个终端会话:sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
gksudo gedit /etc/grub.d/00_header &
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
gedit
):
仅适用于Natty和Oneiric用户
通过输入命令生成一个加密密码。grub-mkpasswd-pbkdf2
在提示时输入您将使用两次的密码
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
grub.pbkdf2...
开始,到BBE2646
结束。gedit
应用程序 - 高亮显示文本“xxxx”,然后用您复制的内容替换它(右键点击并粘贴)。password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
--users myusername
。sudo update-grub
gksudo gedit /etc/grub.d/10_linux
将这行改为:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
To:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
使用恢复模式时,请使用用户名recovery和密码1234
运行sudo update-grub
来重新生成您的grub文件
重新启动并测试,在尝试进入恢复模式时是否要求输入用户名和密码。
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
,但在一个if函数内有一个类似的。请问您如何编辑它呢? - papukaija/etc/default/grub
中取消注释#GRUB_DISABLE_RECOVERY="true"
这一行,是保护恢复模式的替代方法吗? - King Hollysudo
特权,他们就不需要/home
来造成重大损害。 - Kevin