假设我有一个由许多虚拟机组成的大型系统,这些虚拟机运行在一个裸机 esxi 盒上。这些虚拟机中的每一个都运行着系统所需的应用程序。我无法更改某些应用程序,而更改其他应用程序则很困难。许多这些应用程序都以明文形式发送密码,你知道,就像你一样。
我想探索一个系统范围的解决方案。是否可以配置 ESXi 虚拟机管理程序,以便这些虚拟机之间的所有“虚拟” IP 流量都加密?
我的意思不是将 VM Guest 操作系统更改为使用 SSL 或类似的东西(如果可能的话,尽量避免)。而是希望 ESXi 处理这些虚拟 NIC 之间的数据加密和解密;或者任何其他能够充分隐藏这些数据的解决方案。
答案1
是否可以配置 ESXi 虚拟机管理程序以便这些虚拟机之间的所有“虚拟” IP 流量都加密?
不是,但它是一个交换机而不是集线器,无论如何它本身不是 - 如果你真的想谨慎一点,你可以使用 NSX,它在虚拟机之间提供微分段,但它没有加密,只是防火墙。
答案2
当您针对安全性或故障进行设计时,您应该创建一个可能的用例列表。
例如:
- 我想要防范恶意/受感染的虚拟机监听非发往它们的网络流量。
- 我想确保如果我们丢弃 HDD(例如更换 RAID 磁盘),数据将无法恢复。
- 我希望受损的 Web 前端对数据库中的机密数据的影响最小。
使用这种思维方式将消除一些无法提高安全性的解决方案,并揭示出更好的解决方案。为了能够提出这些问题,您需要了解应用程序、它将如何使用以及目标用户群是什么。
如果您希望保护的虚拟机位于没有恶意虚拟机的 VLAN 中,则可能不需要在这些虚拟机之间进行 SSL 加密。可能只需要一些防火墙规则就足够了。
例如,SSL 无法保护您免受 SQL 注入的侵害,而且它可能会产生类似 heart-bleed 的错误。添加防火墙无法保护您免受网络嗅探器的侵害,但可以限制攻击面。
答案3
加密 IP 流量的目的是防止其被拦截和窃听。由于 ESX 虚拟交换机驻留在主机的内存中,因此虚拟机之间的流量永远不会离开 ESXi 主机。因此,在您的情况下加密 ESXi 主机内的流量是没有意义的。
如果您有多个 ESXi 主机,并且您的客户虚拟机有可能在单独的 ESXi 主机上运行,并且此流量通过不受信任的网络段,那么您可以在每个 ESXi 主机上部署虚拟 VPN/防火墙设备,并通过 VPN 链接路由您的流量。老实说,如果您需要采用这种解决方案,那么您的整体网络设计可能会遇到更大的问题,您应该首先解决它。