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

Mar*_*urz 21 security encryption swap vmware-esxi

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

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

有没有办法完全禁用这些文件?

我们已经尝试在每个 VM 的基础上将整个分配的 RAM 保留给 VM,但仍然会创建文件。

为整个主机或仅为某些 VM 完全禁用 ESXi 交换需要什么?

eww*_*ite 14

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

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

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

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

- 编辑 -

您可以保留所有访客 RAM。您没有指定您使用的是哪个版本的 VMWare,但在我的 5.1 安装中,有一个选项Reserve all guest memory。启用此选项会创建一个长度为零的.vswp 文件,而不是等于分配给虚拟机的 RAM 大小的文件。不要注意 vmx- .vswp 文件。这是新来的ESXi 5.x,并且它涉及到来宾操作系统的内存压力(它是VMX进程堆,客人外围设备和管理代理)。此外,可以通过设置sched.swap.vmxSwapEnabled为来禁用vmx- .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
Run Code Online (Sandbox Code Playgroud)

锁定内存预留:

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
Run Code Online (Sandbox Code Playgroud)

编辑 20210711Wayback MachineArchive Today存档版本的上述链接(其中一些已经消失):

  • 理论上的场景将涉及一系列事件(一如既往),比如主机崩溃,硬盘被更换,这些硬盘可能包含此类交换文件中的解密数据(大多数人不知道),最终落入坏人之手,因为大多数人认为数据对它们不是那么敏感(敏感数据位于其他 HDD 上,已加密)。 (2认同)
  • @MariusBurz vmx vswp 文件由`sched.swap.vmxSwapEnabled` 参数控制。它们也可以被禁用。 (2认同)