如何防止有人使用Live CD重置密码?
最近我的一个朋友来到了我的位置,在15分钟内他使用Live CD攻击我的帐户并在我面前重置密码。 我很困惑地看到这样的事情。 请指导我防止将来尝试使用Live CD。
一种快速简便的方法是禁用从BIOS中的CD和USB记忆棒启动并设置BIOS密码。
根据这个维基页面 :
放置密码或锁定菜单项(在Grub配置文件中)不会阻止用户使用grub命令行输入的命令手动启动。
然而,没有什么可以阻止某人偷你的硬盘驱动器并将其安装在另一台机器上,或者通过取出电池来重置BIOS,或者在物理访问你的机器时攻击者可以使用的其他方法之一。
更好的方法是加密驱动器,您可以通过加密主目录或加密整个磁盘来执行此操作:
拿着球座球棒时,站在电脑旁边。 严重殴打任何接近的人。
或锁定它。
如果您的计算机是物理可访问的,则不安全。
首先警告……
grub2密码保护程序可能非常棘手,如果你弄错了,就有可能让你自己使用不可引导的系统。 因此,请始终先对硬盘进行完整的映像备份。 我的建议是使用Clonezilla – 也可以使用其他备份工具,如PartImage 。
如果要练习此操作 – 请使用可以回滚快照的虚拟机guest。
让我们开始
下面的过程可以在启动时保护未经授权的Grub设置编辑 – 也就是说,按e进行编辑可以更改启动选项。 例如,您可以强制启动到单用户模式,从而可以访问您的硬盘。
此过程应与硬盘加密和安全BIOS引导选项一起使用,以防止从live cd启动,如此问题的相关答案中所述。
几乎所有下面的内容都可以一次复制和粘贴一行。
首先让我们备份我们将要编辑的grub文件 – 打开一个终端会话:
sudo mkdir /etc/grub.d_backup sudo cp /etc/grub.d/* /etc/grub.d_backup
让我们为grub创建一个用户名:
gksudo gedit /etc/grub.d/00_header &
滚动到底部,添加一个新的空行并复制并粘贴以下内容:
cat << EOF set superusers="myusername" password myusername xxxx password recovery 1234 EOF
在此示例中,创建了两个用户名: myusername和recovery
下一步 - 导航回终端(不要关闭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
所有'buntu版本(清晰及以上)
保存并关闭文件。
最后,您需要密码保护每个grub菜单项(所有文件都有一行开始menuentry ):
cd /etc/grub.d sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
这将为每行添加一个新条目--users myusername
。
运行update-grub以重新生成grub
sudo update-grub
当您尝试编辑grub条目时,它将询问您的用户名,即myusername和您使用的密码。
在编辑所有grub条目时,重新启动并测试正在强制执行用户名和密码。
请记住在启动过程中按SHIFT键显示您的grub。
密码保护恢复模式
通过使用恢复模式,可以轻松解决上述所有问题。
幸运的是,您还可以强制使用用户名和密码来使用恢复模式菜单条目。 在本答复的第一部分中,我们创建了一个名为recovery的附加用户名,密码为1234 。 要使用此用户名,我们需要编辑以下文件:
gksudo gedit /etc/grub.d/10_linux
更改以下行:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
至:
if ${recovery} ; then printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}" else printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}" fi
使用恢复时,请使用用户名恢复和密码1234
运行sudo update-grub
以重新生成grub文件
尝试引导进入恢复模式时,重新启动并测试要求您输入用户名和密码。
重要的是要记住,如果有人可以物理访问您的计算机,他们将始终能够为您的PC做事。 锁定PC机箱和BIOS密码之类的东西并不能阻止一个坚定的人拿走你的硬盘和数据。
您可以这样做,即使在重置的情况下,“重置器”也无法看到数据。
要做到这一点,只需加密/home
。
如果您想使其无法重置,则需要删除某些内容,负责更改密码。