虽然VMware vSphere 4版本已经集成了VMware VMsafe,但是对于多数人来说,并不熟悉如何正确地部署VMsafe。VMsafe是一个应用程序接口,保护运行在虚拟机上的应用。
尽管VMsafe(如思科的Nexus 1000V虚拟交换机)产品并不太多,但是为了能达到最佳的虚拟化安全、效率和性能,在您部署一款产品之前,需要了解清楚如何把这种虚拟机应用保护程序整合到您的数据中心环境中。
本文讨论在数据中心部署VMware VMsafe需要考虑的问题:VMsafe-aware虚拟程序的位置、程序对主机的影响以及交互性问题。
Faster Path和Slow Path
VMsafe应用有两种实现方式:第一种被称为Faster Path,通过在VMware vSphere ESX 4主机系统上安装一个vmkernel驱动实现。Fast Path方式的优点非常多。但它仅仅是一个驱动,此外经常被用来转发必要的信息给虚拟程序;第二种是组合虚拟程序和vmkernel驱动的方式,被称为Slow Path。
因为多数VMsafe应用程序会使用虚拟设备,所以把这些程序放置在数据中心的哪里就变得很重要。从安全的角度出发,充分考虑VMsafe程序的作用及其对虚拟化数据中心的影响成为关键因素。VMsafe虚拟程序具备直接访问处于虚拟化管理程序(hypervisor)中数据的能力,包括读写内存、存储和访问网络设备。在一些情况下,VMsafe虚拟程序甚至可以改变从内存、存储设备或网络读取的数据。
这种访问存在重大的安全隐患。如果虚拟设备处于危险的环境中,如隔离区(DMZ)或可以直接访问Internet的环境,那么它就非常容易被攻击。一次成功的侵入将会对您的虚拟化数据中心造成灾难性的破坏。
在使用VMsafe虚拟设备前首先要考虑的问题是,VMware vSphere不会自动保护虚拟设备,而是把这个任务留给用户和供应商,当供应商完善了自身的工作之后,VMsafe虚拟设备的安全就成为用户的职责。
这里提供一些基本的准则:
不要把VMsafe设备安装在隔离区(DMZ)
不要赋予它们直接访问Internet的能力,设置成通过代理服务访问
不要安装在虚拟机网络层
不要安装在服务管理层和IP存储层
不要安装在VMware VMtion或Fault Tolerance Logging网络层
那么,在什么地方安装虚拟设备呢?
安装在防火墙保护的安全区域内,安全区可以是虚拟管理网络层的一部分,或者在一个单独安全区域。
伴随着VMsafe,VMware在虚拟网络层中强化了另外一种有效的安全区域:相比早期的VM Infrastructure3(VI3)中的四个,在全功能的Enterprise或Enterprise Plus版本的 VMware vSphere ESX主机自带有六个基本的安全区域。这样就增加了更多让人可以放心选择的虚拟网络。
在VI3中,通常认为VMotion和服务器控制台可以共享同一个uplink(上行链路),现在我们可以考虑是不是让VMsafe也共享这块区域。或者应该把service Console跟VMsafe、VMotion以及Fault Tolerance Logging整合起来。答案是:这些都主要取决于用户的应用环境和性能方面要求。
VMsafe对虚拟机性能的影响
从功能方面分析,VMsafe设备能是资源密集型虚拟机。例如,如果你想做全面的深度包检测或内存分析时,VMsafe应用性能开销是很大的。换句话说,这个进程将影响整个ESX4主系统上的所有的虚拟机性能。全面的深度包检测和内存分析对CPU的占用率也是很高的。
最后一点需要考虑的是不同厂商VMsafe Vmkerner驱动之间的交互问题。如果您计划使用多种VMsafe产品,就需要验证和测试各种vmkernel驱动间的互操作性问题。VMware不会对这些交互的过程做测试,虚拟程序的供应商可能也不会做。考虑到这是一种第三方的vmkernel驱动,厂商会有一些兼容性方面的考量。
当您开始部署VMsafe设备的时候,就需要小心了(Cisco Nexus 1000V也是VMsafe应用)。您需要:考虑在什么位置安装VMsafe虚拟程序;考虑虚拟设备可能对您的ESX4主机造成的影响;最后,考虑互操作性问题。在您的生产虚拟主机部署VMsafe之前,您还需要首先完成相应的计划、测试和评估工作。
【编辑推荐】