硬化虚拟机

我有一个基于CentOS的产品,我正在分发它作为一个虚拟机(VMWare,XEN和KVM),我一直在评估保护虚拟机所需的步骤。 由于虚拟机的数据包含敏感数据,所以对于授权人员以外的任何人都不应该访问虚拟机的数据,我的意思是应始终请求root密码或拒绝访问。

使用XEN可以通过以下方式访问机器:

  • 通过使用Dom0编辑引导加载程序,从而击败任何引导加载程序保护:xe-edit-bootloader -u -p 1
  • 通过将init = / bin / sh添加到VM启动选项

使用VMWare,您可以将映像挂载到其他系统上并访问这些文件。

可能还有其他的方式来访问机器,我的问题是,我应该考虑哪些其他方式,以及如何防止它们,包括我上面列出的那些?

那么,只要人们有“物理”访问权限(这意味着他们在这种情况下有虚拟机),总是有一些方法 – 单用户模式或像konboot一样的工具。

唯一可行的办法就是encryption整个硬盘 – 你会遇到一些性能问题,但是由于你需要一个密码才能访问数据,所以单用户模式也不行,将安装图像。

这应该处理大多数攻击媒介,除了外来的 – 例如一个可能转储内存内容的妥协主机(如果存在的话)

我真的没有看到阻止最终用户在没有encryption的情况下看到磁盘上的数据的方法,即使这样也会有办法绕过它(否则他们将无法真正使用虚拟机)

我看到的解决scheme是自动化一种方法来为使用产品的每个用户定制产品,或者以最终用户必须设置正确的凭证和pipe理机器的方式推广VM。 你没有深入了解你的产品,但是你真的不能完全防止他们能够挂载磁盘镜像和绕过保护,而且对于合法的最终用户来说,必须处理。

基本上,您需要根据最终客户能够并且将会看到这些信息的想法devise解决scheme,因此您不能将秘密信息放入您分发的产品中。 自定义该用户站点的解决scheme,或者通过在安装时设置密码和凭证来强制他们对其进行pipe理。