按: 伊戈尔·雅尔丁
2000 世纪初,虚拟化概念开始出现,成为大型企业的一种出路。 数据中心 他们既面临着增长所需的物理空间不足的问题,又面临着服务器处理能力的浪费,服务器的闲置时间比实际使用时间要多。
多年来,这些 池 专用物理服务器开始大量淘汰,虚拟化成为 IT 基础设施的基本组成部分,无论是在架构还是项目中,因为它为公司的管理和运营提供了灵活性。
在IT部门和云提供商的响应时间显著提高的同时,一个此前被忽视的问题却变得更加严重:数据安全,尤其是磁盘上的数据安全。
如今,随着大量数据泄露, GDPR 敲响每个人的门,公司必须解决这个只会增加的责任,这不仅危及系统用户,而且危及 IT 基础设施所有者的连续性。
数据安全为何被忽视?
例如,许多管理员未能在服务器上使用磁盘加密,因为为了在重新启动设备后解密硬盘,必须在每个硬盘上输入密码,这是一个本质上繁琐的操作,会增加基础设施的停机时间,即使只有几分钟。
如今,随着创建虚拟服务器的便利,这几乎成为一项不切实际的任务,最终导致系统管理员错误地选择不加密磁盘。
使事情变得更加复杂的是,虚拟服务器上的问题更加严重:每次虚拟机暂停或 快照 创建后,不仅磁盘的内容将存储在服务器的物理硬盘上,而且内存数据也将存储在服务器的物理硬盘上!换句话说,虚拟机上运行的应用程序和服务内存中的所有数据(通常包括加密密钥、个人数据、密码、身份验证令牌等)最终都会在物理服务器的磁盘上公开,从而暴露需要保护的数据。
安全解决方案
如果你认为:但是 管理程序,这不就解决了吗?简短的回答是:并不孤单。
为了理解,让我们记住:Hypervisor 是硬件和操作系统之间的软件层,允许虚拟机访问硬件资源。它在系统的某一层运行,可以在必要时使用密钥自动透明地为虚拟机加密和解密数据卷,无需输入密码。
然而,仅使用密钥来加密/解密服务器会导致另一个问题:找到一种安全存储这些密钥的方法,因为一旦密钥泄露,不仅会影响单个服务器,还会影响整个服务器 簇也就是说,多个连接在一起并行工作的设备最终都会变得脆弱。
使用KMS存储加密密钥

Kryptus kNET HSM 作为 KMS 运行。
为了解决这个问题并保证密钥的安全,解决方案是使用 KMS(密钥管理服务)。 KMS 是一种能够以服务的形式安全地管理加密密钥生命周期的系统。在此服务中,您可以连接其他几个支持数据加密的系统,例如虚拟机管理程序、数据库甚至 SIEM。
显然,KMS 不能是虚拟机,因此有效的密钥管理系统/服务基于或使用以下类型的加密保护设备 HSM(硬件安全模块)从逻辑和物理意义上来说,屏蔽设备可以防止密钥被盗窃和不当使用。
如果您正在寻找解决此问题的方法,我们有两个好消息!
首先,随着 vSphere 6.5 的发布,VMware 引入了透明加密虚拟机 (VM) 本身的可能性,无论其运行的操作系统是什么,这解决了已经提到的安全问题,此外还有助于遵守数据保护法规,例如 GDPR!对于此功能,vSphere 使用 KMS 来保护您的加密密钥!
第二个消息是 kNET HSM 作为 KMS 运行并与 Vmware vSphere 完全兼容。
vSphere 和 kNET 之间的通信
下图概括地解释了 VMware 的 vSphere 和 Kryptus 的 kNET 之间的通信是如何进行的:

1-首先,kNET(KMS)和vCenter之间必须存在信任关系;
2- vCenter 向 KMS 请求密钥;
3- KMS 向 vCenter 发送密钥加密密钥 (KEK);
4- vCenter 仅存储密钥 ID 并将 KEK + ID 集发送给 ESXi(Hypervisor);
5- ESXi 接收 KEK 并将其专门存储在内存中;
6- 收到 KEK 后,ESXi 生成数据加密密钥 (DEK) 来加密 VM 文件;
7- ESXi 现在使用 DEK 加密 VM 硬盘,然后使用 KEK 加密 DEK;
注意:当 ESXi 重新启动时,vCenter 会再次提示 KMS 输入密钥,然后重复整个过程。
之间的信任关系 VMware vCenter 和 Kryptus kNET 以一种简单实用的方式进行:使用 KMIP 密钥操作协议。为此,将将使用的 KMS 集群添加到 vCenter,并告知 kNET IP、端口、用户和密码。然后生成证书签名请求 (CSR),该请求必须由 KMS 签名并返回给 vCenter,从那时起,vCenter 就与 KMS 建立信任关系。
VMware 和 kNET 集成的优势
通过集成,服务器集群拥有两层保护!这是因为每个 VM 都使用唯一的 DEK 密钥加密,而每个 DEK 密钥又使用唯一的 KEK 密钥加密。因此,即使攻击者发现了 DEK 密钥,但如果没有 KEK 密钥(安全存储在 kNET HSM 内),他就无法访问文件。
“在使用与 VMware 集成的 KMS 来管理和存储密钥之前,我们必须在每台服务器上手动输入密码。现在,这个过程变得更加实用,并且显著提高了整个环境的安全性。”Kryptus 的 IT 经理 Igor 说道。
Igor 还建议考虑配置多个 kNET,创建 KMS 集群,以提高系统可用性,因为 ESXi 在重新启动和/或实例化新 VM 时会请求必须在不可用风险下提供的密钥。
