我知道这个标题似乎是完全相互矛盾的,但请允许我详细说明。 阅读Bruce Schneier 最近关于数据删除的文章,让我想到每个服务器都应该有全盘encryption,只要知道rm file安全地删除文件,只要它不在其他地方,就永远消失了。
如果我find一种方法来运行一个“非常安全的”服务器,它作为LUKS文件系统解密密钥的关键服务器,而所有其他服务器只是做了某种networking启动,在这种networking启动中,他们伸出了这个“真正安全的“服务器的密钥,我可以实现这些机器上的全自动化? 因为我必须假设亚马逊可以(如果他们想要的话)轻易地提取encryption密钥,那么我是否真的失去了这种安装的安全性? 通过全自动化,我的意思是能够随意添加和删除机器,而不需要人工干预或物理访问。 此外,机器应该能够自行重新启动,而不是等待解密密码短语。
另外,这可能吗? 我以为有办法做这样的事情,但是现在我对这个话题有点朦胧。
这是您为FDE提供空密码的FDE的常见用例。 然后,您需要configurationFDE引导加载程序以跳过密码查询,然后使用空密码启动计算机。 如果使用LUKS,则可能更改源代码并重新编译LUKS引导加载程序以跳过密码input并继续使用空白密码。
请注意,在这种使用情况下,为FDE使用空密码不是不安全的(为了使驱动器擦除更容易)。 密码会encryption驱动器encryption密钥,然后encryption驱动器。 这是为了能够更改密码而不必重新encryption整个驱动器。 因此,即使驱动器encryption密钥没有被encryption或保护,当该驱动器encryption密钥被安全地擦除时,内容仍将被保护。
当它停止服务器的时候,你只需擦除几个包含引导加载程序的第一兆字节,然后validation引导加载程序已经消失了。
另一个用例是将引导程序放在另一个比HDD更容易被破坏的设备/介质上。 当它停止服务器的时候,你要么保留启动媒体或销毁它。
通过PXE启动也是一个可行的解决scheme。 然后将整个引导程序放在PXE服务器上。 您甚至可以将iPXE( http://www.ipxe.org )闪存插入主板/网卡芯片,然后通过HTTP / HTTPS获取引导加载程序。
一些驱动器也使用内置的这个function,它会生成一个随机encryption密钥,将它存储在闪存或磁盘上,然后encryption整个驱动器。 当您提供ATA安全擦除命令时,它将安全地擦除encryption密钥,使整个驱动器不可读。
也许我没有得到你的答案,或者我是一个n00b,但你不能让一个已经有encryption,然后部署使用零接触的黄金形象? 使用像Puppet或SCCM这样的东西进行pipe理,但我发现无用的是,你想要自动input密码短语(一些代码肯定可以做到这一点),但是,这使得服务器不太安全,并打败了目的encryption。
可以使用FDE(全盘encryption)自动化VM,除了/ boot分区。
这里有几个选项,都是在Linux上使用标准的LUKSencryption。