我们在ESXi上运行一些Solaris / Linux虚拟机,这些虚拟机包含非常敏感的encryption数据,最终在内存中根据需要进行解密。
除了可能存储一些解密数据的ESXi交换文件之外,一切都很好,樱桃最重要的是在主机崩溃的情况下这些文件不会被删除。
有什么办法可以完全禁用这些文件吗?
我们已经尝试将整个分配的RAM保留在每个虚拟机的VM上,但这些文件仍然被创build。
ESXi交换完全禁用整个主机或仅针对某些虚拟机需要做什么?
这是个有趣的问题。 我从来没有想过在虚拟机pipe理程序级别的数据安全性……通常安全策略和硬件是围绕特定于操作系统的任务(限制守护进程,端口,禁用核心文件,文件系统挂载选项等)
但是经过一些快速的研究 (并且运行与活动的VMWare .vswp文件相关的strings
)表明,从VMWare数据存储上的.vswp文件提取数据是绝对有可能的。 这个链接有助于解释这些文件的生命周期。
在你的情况下,我认为你的方法将被确定的安全策略和要求。 根据我在财务和审计方面的经验,我认为可以接受的方法是限制/安全访问主机服务器。 回想一下,默认情况下,您的ESXi主机没有启用SSH或控制台访问。 启用这些function会在vCenter中引发需要手动覆盖的事件/警报,因此,假定审计访问是控制访问此信息的最佳方式。
如果担心谁可以访问服务器,则可能无法解决pipe理问题。 我会检查一些其他来源,看看是否有办法限制.vswp文件的使用。
– 编辑 –
你可以保留所有的客户RAM。 你不指定你正在使用哪个版本的VMWare,但在我的5.1安装中,有一个选项来保留所有的访客内存 。 启用此选项将创build一个零长度 .vswp文件,而不是等于分配给虚拟机的RAM大小。 不要关注vmx – *。vswp文件。 这对于ESXi 5.x来说是新的 ,它与guest虚拟机的操作系统内存压力无关(这是针对VMX进程堆,guest虚拟机外围设备和pipe理代理程序的)。 另外,可以通过将sched.swap.vmxSwapEnabled
设置为FALSE
来禁用vmx – *。vswp文件。
我想这会给你你要求的。
无内存预留(默认):
root@deore:/volumes/vol2/staging/Test_Bed# ls -al | grep vswp -rw------- 1 nfs nobody 3221225472 Dec 23 13:31 Test_Bed-ad493981.vswp -rw------- 1 nfs nobody 115343360 Dec 23 13:31 vmx-Test_Bed-2907257217-1.vswp
内存预留locking:
root@deore:/volumes/vol2/staging/Test_Bed# ls -al | grep vswp -rw------- 1 nfs nobody 0 Dec 23 13:38 Test_Bed-ad493981.vswp -rw------- 1 nfs nobody 115343360 Dec 23 13:38 vmx-Test_Bed-2907257217-1.vswp
这看起来像你试图解决问题的错误。 试图停止机器交换不保证敏感数据不会在磁盘上。 核心转储等等呢? 一旦你有一个可写入的设备已经在一个系统中包含敏感数据,它不应该被认为是“干净的”,应该在使用结束时销毁。
如果你的数据是敏感的,那么你应该在物理上保护系统。 每个需要访问系统的人都应该适当地进行审查,并特别授权这样做。 他们的活动需要被授权,login和监督等。
你描述的场景很容易pipe理。 您应该有程序销毁含有与数据敏感性相称的敏感数据的设备。 只要不让设备脱离安全的环境,除非由适当的权威机构签署,否则不再是您的问题。
encryptionESXi创build的虚拟机交换文件应该足够了。 尝试将交换文件放在encryption的数据存储上,如encryptionSAN或自encryption磁盘。