在Linux中使用无密码身份验证进行全盘加密


16

我在Debian 5.0.5中有一个相当标准的磁盘加密设置:未加密/boot分区,并且加密后sdaX_crypt包含所有其他分区。

现在,这是一个无头服务器安装,我希望能够在不使用键盘的情况下启动它(现在我只能在连接键盘和监视器的情况下启动它)。

到目前为止,我已经有了将/boot分区移动到USB驱动器的想法,并进行了一些小的修改以自动输入密钥(我认为askpass启动脚本中只有某个地方调用了)。这样我就可以无头启动,只需要在启动时插入一个闪存驱动器即可。

如我所见,问题在于

  1. 我需要花费时间来找出所有细节,以使其发挥作用,
  2. 如果有重新生成的更新,则initrd需要重新生成USB上的启动分区,这似乎很乏味。

问题:是否有标准的低维护解决方案可用于我想做的事情?还是我应该一起寻找其他地方?

Answers:


7

您可以将系统设置为要求密钥而不是密码,并更改一些脚本以在USB记忆棒上搜索此密钥。我在Debian Lenny上找到了有关此过程的详细说明。最后,有一些注释描述了Debian较新版本的必要更改。


听起来像我需要的。在接受答案之前,我首先需要查看在更新之间保持工作状态需要付出多少努力。
亚历克斯·B

好的,尽管没有“标准”解决方案,但这似乎奏效了。
Alex B

5

但是,如果只用明文保留密钥,那么进行全磁盘加密又有什么意义呢?

为此,您需要像Trusted Computing Platform那样的东西,而在Microsoft和Big Media出于其邪恶的用户服从目的而对其进行劫持之前。

这个想法是让芯片拥有主板上的密钥,并且只有在验证运行的软件是否由受信任的机构(您)正确签署后,才让它提供密钥。这样,您就不会将按键遗忘在眼前,也不必以交互方式启动服务器。

遗憾的是我从未见过对可信计算有任何用处,因为它实际上对最终用户很有用


密钥与纯文本中的SSH密钥一样,没有更多~/.ssh。我只希望能够启动具有全盘加密功能的无头服务器并取出密钥。我意识到攻击者可以修改未加密的启动分区并窃取密钥(无论如何仍要使用基于软件的常规密码版本),但是我只是在防止随意盗窃。
亚历克斯·B

实际上,TPM最近已经从DRM转移回政府和企业使用。有很多操作系统可以使用它来存储秘密密钥,我不知道提供完整性保护的任何操作系统(例如,不允许攻击者在其中插入键盘记录程序/boot)。
吉尔斯(Gilles)“所以,别再邪恶了”,

@AlexB:您的服务器是否有TPM?如果是这样,您可能可以使用Trusted Grub来做您想做的事情。
吉尔(Gilles)“所以

请注意,将密钥保留为纯文本是有好处的,那就是您可以完全擦除磁盘上的敏感数据而无需将整个磁盘清零。是的,您可以将超级块或分区表清零,但是众所周知,数据仍然可以从这些操作中恢复。
13年

@strugee:如果使用的是LUKS,将LUKS标头清零会使整个卷无法恢复。如果您使用的是普通的无标题dm-crypt,那么可以,以后仍然可以使用密码恢复。
杰伊·沙利文

5

Mandos(我和其他人写的)解决了这个问题:

Mandos是一个允许具有加密根文件系统的服务器无人值守和/或远程重启的系统。有关更多信息,包括常见问题列表,请参见介绍手册页

简而言之,引导服务器以一种安全的方式通过网络获取密码。有关详细信息,请参见自述文件。


1
即使实际上不需要此免费软件,说明它是您的产品,也将不胜感激。一个更易读的README / FAQ链接以及对Mandos如何工作的简短解释也将不胜感激。
吉尔(Gilles)“所以,别再邪恶了”,

1
@吉尔斯:现在完成。
泰迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.