![保护(加密)系统免遭 root 访问](https://linux22.com/image/175370/%E4%BF%9D%E6%8A%A4%EF%BC%88%E5%8A%A0%E5%AF%86%EF%BC%89%E7%B3%BB%E7%BB%9F%E5%85%8D%E9%81%AD%20root%20%E8%AE%BF%E9%97%AE.png)
我计划向多个用户提供 Linux 设备。这些用户精通技术,可以轻松地在标准 Linux 系统上重置 root 密码。
如何创建一个正在运行的 Linux 系统,一旦受保护,即使 root 用户也无法进入文件系统? (我研究了像 LUKS 这样的磁盘加密,但在所有情况下 root 用户都可以访问自动安装的分区)。
我该如何解决这个问题?堆栈交换问题,例如这假设攻击者没有 root 访问权限,但通过启动到单用户/恢复模式来重置 root 密码似乎很简单。
我读过有关 LUKS 的内容,但 FDE 需要将密钥文件滚动到 initramfs 中(如图所示这里)但我认为您可以轻松展开 initramfs 并提取密钥。所以我不认为这能解决问题
答案1
不,是不是可以在具有全盘加密 (FDE) 的 PC 上重置 root 密码。
您添加的答案中链接的教程讨论了自动安装一些非系统驱动器。使用 FDE,以下所有内容/
都会被加密,包括/root/keyfile
.
如果您为了方便起见将密钥文件放在非加密分区(例如/boot
)上的系统分区中,您的朋友将能够读取该文件,因此不要这样做。
读:
关于您评论中的补充:
“该设备无需用户干预即可启动并运行”:
不允许不受信任的用户启动您的计算机。如果用户可以从加密的硬盘驱动器启动,他们要么知道密码,要么拥有用于加密的未加密密钥文件,然后他们就可以对计算机执行任何他们想要的操作。
保持计算机启动,或者拥有一些允许启动的受信任用户。
答案2
我找到了答案:使用 LUKS 加密整个磁盘,然后将密钥存储在系统 TPM 中。这样整个磁盘都会被加密,最终用户无法从 TPM 中提取密钥......非常安全: