我正在寻找一种尽可能在不受信任的主机上保护我的虚拟机的方法。
这是我的情况:我对我不信任的远程主机具有 ssh 访问权限。我将上传并运行虚拟机。VM 包含包含敏感数据的加密分区,此分区将在 VM 启动后装载。应执行哪些步骤来保护主机不访问此 VM?
我知道如果远程机器所有者可以访问该机器上的物理内存,它可能永远不会 100% 安全。我只想尽可能困难地访问此 VM。我的想法之一是设置触发器,以便在未经授权尝试访问 VM 的情况下自动卸载加密分区。是个好主意吗?有没有一些解决方案来完成这项工作?我还有哪些其他选择?
对物理内存的访问将允许他们将加密分区单独挂载到 VM。自动卸除加密将防止那些通过 VM 访问的人,这很有帮助。
除了分区加密之外,您还可以对分区上的重要文件或文件夹进行二次加密。还可能设置访问时发送电子邮件,以便在有人访问分区时提醒您。如果您感到不安全,这可能允许您远程擦除它。
如果它真的很重要,自动擦除加密可能是可能的,但是如果您没有物理访问权限,这总是非常困难的。
目前最好的选择是简单地使用受信任的强分区加密软件进行加密,例如 http://www.truecrypt.org/
虚拟机的前提是它们彼此隔离并与主机隔离,因此虚拟内存读取攻击应该是大众软件的问题。
关于虚拟磁盘,可以复制这个磁盘,在这种情况下,最好的解决方案是具有强大算法的加密文件系统。
但是,请务必注意,在此 VM 上运行的应用程序和服务可能容易受到攻击,并且可能是攻击者的主要入口点。我建议您仅暴露必要的端口,并检查这些端口/服务是否没有任何漏洞。