如何在 ESXi 中禁用交换文件?

如何在 ESXi 中禁用交换文件?

我们在 ESXi 上运行一些 Solaris / Linux VM,其中包含非常敏感的加密数据,这些数据最终会根据需要在内存中解密。

一切都很好,除了 ESXi 交换文件可能存储一些解密数据,最重要的是,如果主机崩溃,这些文件不会被删除。

有什么办法可以完全禁用这些文件吗?

我们已经尝试为每个虚拟机保留分配的全部 RAM,但文件仍然会被创建。

如何才能彻底禁用整个主机或仅部分虚拟机的 ESXi 交换?

答案1

这是一个有趣的问题。我从未考虑过虚拟机管理程序级别的数据安全……通常安全策略和强化围绕特定于操作系统的任务(限制守护程序、端口、禁用核心文件、文件系统挂载选项等)进行。

但经过一些快速研究(并strings针对活动的 VMWare .vswp 文件运行)表明,绝对可以从位于 VMWare 数据存储上的 .vswp 文件中提取数据。这关联有助于解释此类文件的生命周期。

就您而言,我认为您的方法将是确定安全策略和要求。根据我在财务和处理审计方面的经验,我认为一种可接受的方法是限制/保护对主机服务器的访问。回想一下,默认情况下,您的 ESXi 主机未启用 SSH 或控制台访问。启用这些功能会在 vCenter 中引发需要手动覆盖,因此假设审计访问是控制对此信息的访问的最佳方式。

如果担心谁可以访问服务器,那么可能没有针对管理问题的技术解决方案。不过,我会查看其他一些来源,看看是否有办法限制 .vswp 文件的使用。

- 编辑 -

您可以保留所有客户机 RAM。您无需指定正在使用的 VMWare 版本,但在我的 5.1 安装中,有一个选项保留所有客人记忆。启用此选项将创建零长度.vswp 文件,而不是与分配给虚拟机的 RAM 大小相等的文件。不要关注 vmx-.vswp 文件。这是 ESXi 5.x 的新功能,而且不是与客户机操作系统内存压力有关(用于 VMX 进程堆、客户机外围设备和管理代理)。此外,vmx-可以通过设置sched.swap.vmxSwapEnabled为 来禁用 .vswp 文件FALSE

我想这会给你你想要的东西。

在此处输入图片描述


不保留内存(默认):

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

锁定内存预留后:

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

编辑 20210711回溯机器或者今日存档上述链接的存档版本(其中一些已经消失):

答案2

看起来你试图解决问题的方式是错误的。试图停止机器交换并不能保证敏感数据不会进入磁盘。核心转储等怎么办?一旦你拥有一个可写设备,并且该设备已经进入了包含敏感数据的系统,它就不应该被视为“干净的”,并且在使用结束后应该被销毁。

如果您的数据如此敏感,那么您应该在物理上保护系统。每个需要访问系统的人都应该经过适当的审查并获得专门的授权。他们的活动需要获得授权、记录和监督等。

您描述的场景易于管理。您应该制定销毁包含敏感数据的设备的程序,该程序应与数据的敏感度相称。除非设备由相关机构签发,否则您不应让其离开您的安全环境,此时设备不再是您的问题。

答案3

加密 ESXi 创建的虚拟机交换文件应该足够了。尝试将交换文件放在数据存储上已加密,例如加密 SAN 或自加密磁盘。

相关内容