有什么方法可以在远程服务器上对磁盘进行完全encryption(比如,位于数据中心)? 在Windows上,我们可以通过TPM打开Bitlocker。 然后服务器可以重新启动,而攻击要么需要在活着的时候拿走机器,卸载RAM,要么打破TPM。 在Linux上,有什么可用的?
到目前为止,我已经find了描述如何在TPM中存储dm-crypt密钥的IBM“蓝图”。 这是最好的办法吗?
http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaai/tpm/liaaitpm_pdf.pdf
要了解你的问题的最佳解决scheme,你需要澄清你想要达到的目标。 换句话说,你的威胁模型是什么? 谁是你的攻击者? 你提到,为了解决这个问题,需要“在活着的时候把机器拿走”(我假设你的意思是盗号),但是这对于一个共同的服务器来说是最有可能的。 磁盘encryption主要是在物理盗窃的情况下使用。
您还需要考虑您保护的是什么数据。 你提到'完全encryption磁盘',但这是否需要encryption,例如/ usr? 如果你正在运行一个标准的发行版本,那就没有什么意义了。 不知道更多关于服务器将包含什么,很难提出build议。
但是要给出更具体的build议,请考虑以下假设的服务器。 它包含以下内容:
在这些组件中,只有数据库真的需要保护,所以下面是我的方法:
您提到了TPM,但TPM在许多情况下并不能帮助您,例如攻击者获得pipe理权限。 出于这个原因,TrueCrypt已经拒绝了对TPM的支持。
您也可以使用dm-crypt的TPM :
https://github.com/shpedoikal/tpm-luks
http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions#2._Setup
如果集成在initrd ramdisk上,小型SSH服务器允许远程input密码来解锁驱动器。
请注意,上述解决scheme中没有一个能够充分保护具有物理访问权限的技术性攻击者。