虚拟化和云计算都是时下最热门的话题。我们可以使用客户端和服务器虚拟化技术来减小数据中心和客户端规模,也可以整合客户端和服务器来降低能耗需求,还可以从多个物理机器将服务器移至虚拟服务器上以解决机架空间问题。虚拟化是成功的,因为虚拟化帮助我们解决了很多问题。
然而,还有一个方面是虚拟化没有解决的,那就是安全问题。虚拟化技术本身并不是安全技术。事实上,虚拟化的安全问题能够反映出物理环境的安全问题。安全问题在虚拟化环境中变得越来越重要,因为安全问题将对虚拟服务器造成很严重影响。
正因如此,我们需要认真考虑虚拟化环境核心安全概念以及相关部署问题。在所有网络(尤其是虚拟客户端和服务器网络)中都适用的一个重要概念就是:安全分区。安全区集合了承担着共同安全风险或者安全威胁的资源,有几种方法可以归纳安全区的特点:
·相同安全区的所有成员都承担着共同的安全风险
·相同安全区的所有成员对于企业有着相似的价值,高价值资产不可能与低价值资产位于同一安全区
·面向互联网的主机通常与面向非互联网的主机位于不同安全区
·一个安全区受到破坏并不会影响其他安全区,受破坏的安全区应该是隔离的,不会对其他区造成任何影响
·安全区必须通过物理或者逻辑方式进行分割,必须使用访问控制设备或者软件来控制用户对不同安全区的访问权。可以使用防火墙来创建物理分割,或者使用先进软件方式(如Ipsec)来创建虚拟网络分割。
在虚拟化环境和物理环境中都应该进行安全分区和安全分割,例如可以将安全区按照以下三种简单分区进行分割:
·互联网边缘安全区
·客户端系统安全区
·网络服务安全区
下图显示的是一个简单的服务器整合,主要侧重于虚拟化项目。这个结构中有一个虚拟服务器,该虚拟服务器控制着防火墙、域控制器、邮件服务器以及文件服务器。这些虚拟机都连接到相同的物理网络中(就像客户端系统一样)。
这其实是一个很糟糕的安全模式,原因如下:
·面向互联网的虚拟机与网络服务虚拟机位于同一个虚拟服务器上,互联网防火墙虚拟机出现问题时,将会对网络服务机器造成负面影响,而网络服务器属于不同安全区。
·客户端系统与网络服务虚拟机位于相同的物理网络,客户端系统出现问题时,将会对网络服务虚拟机造成不良影响。客户端系统应该与网络服务虚拟机进行分割,放置在不同的安全区。
这是一个简单服务器整合项目的常见设计,从安全观点来看,这是个很糟糕的设计。让我们看看可以怎样改善这种状况:
下图展示的是比图1更好的安全配置,在这个设计中,添加了第二台虚拟服务器。第一台虚拟服务器只控制边缘安全设备,这能有效分割面向互联网的防火墙与面向非互联网的主机,从而成功地将防火墙安全区从网络服务安全区中分割出来。不管虚拟防火墙还是在虚拟服务器上运行的防火墙受到破坏,位于第二台虚拟服务器上的虚拟机器都不会受到太大负面影响。
第二台虚拟机仅控制着属于网络服务安全区的虚拟机,不过,客户端系统仍然与网络服务虚拟机位于相同物理网络中。这不是一个最优配置方式,因为如果客户端系统安全区发生故障,这些安全区之间没有访问控制或者安全设备可以限制故障造成的潜在影响。
虽然这种设计优于第一种设计,不过还是有很多地方可以进行改善的,以创造更安全的配置。
下图显示的是改进设计,在这个结构中,所有的安全区都被分割开来,位于网络边缘的虚拟服务器只包含防火墙阵列。请注意,要想创建这样一个坚固的涉及,你将需要使用“软件”防火墙。由于虚拟化在众多网络中处于前线位置,在边缘虚拟服务器设置边缘防火墙将只是时间问题。现在就可以使用很多厂商提供的类似虚拟产品,如Check Point防火墙或者微软ISA或者TMG防火墙等。另外还有很多基于Linux的虚拟防火墙。
这个设计中,也有第二台虚拟服务器,但是请注意,网络服务虚拟服务器与客户端系统网络被控制防火墙的边缘虚拟服务器物理分割了。这种情况下,边缘系统可以有多种虚拟防火墙,从而连接到网络服务物理网络和客户端系统物理网络。或者可以在边缘虚拟服务器创建更加复杂的防火墙环境,分割连接客户端网络系统到网络服务网络的防火墙。
这里的关键问题是,在属于不同安全区的系统间有某种类型的物理或者逻辑分割(或者两者分割形式都有)。互联网与所有内部网络分割了,网络服务虚拟机与客户端系统是独立存在的,另外,客户端系统与网络服务虚拟机也没有连接。
#p#副标题#e#
在这种结构中,属于不同安全区的虚拟机被放置在不同的物理虚拟服务器上,非虚拟化资产都使用网络阻塞点进行了物理或者逻辑分割,例如边缘虚拟服务器的虚拟防火墙。
随着虚拟技术的不断发展,你可能发现客户端方面的虚拟化正在越来越流行。客户端虚拟化的途径之一就是创建一个“虚拟桌面基础设施”(VDI),有很多方法可以实现这一点,其中有个方法就是在虚拟服务器上托管多个不同的虚拟客户端系统,然后用户就可以连接瘦客户端到这些专用客户端虚拟机。这种方法的优势在于“展现虚拟化技术”,这是一种终端服务客户端经验,用户实际连接到虚拟客户端的整个操作系统中,而不是通常所看到的淡化客户端终端服务。
在下图中可以看到,我们添加了第三台虚拟服务器负责托管VDI。安装在这台虚拟服务器的很多客户端系统和拥有瘦客户端系统的用户可以放置在任何地方,因为由于操作系统设在虚拟服务器(而不是在瘦客户端上)上瘦客户端几乎没有任何攻击面。在这个结构中,想象客户端虚拟机上的操作系统被“分流”至瘦客户端上。
为优化这种基础设施的安全性,我们仍然需要靠安全分区。为帮助确保对确定安全区的适当分割,你将需要部署第三台虚拟机来负责VDI并将来自其他安全区的虚拟服务器分离,正如下图所示。同样的,属于不同安全区的资源不能存放在相同虚拟服务器上,而托管属于不同安全区的虚拟机的虚拟服务器需要相互进行物理或者逻辑隔离。
结语
本文中我们审查了评估虚拟环境安全性的重要考虑问题:网络安全分区。在很多虚拟化项目中,管理员将更注重虚拟化架构的设计,而忘记虚拟化本身并不是安全技术,也就是说部署在物理网络的安全架构同样需要在虚拟网络部署。在本文中我们得出的结论是,要想解决虚拟化环境安全问题,首先需要鉴别网络中不同的安全区,然后重新定位位于相同虚拟服务器的相同安全区上的虚拟极其。此外,为避免属于相同虚拟服务器(或者虚拟群集)的不同安全区的虚拟机混淆,我们还指出在不同安全区间执行访问控制的网络安全设备需要防止在适当的位置,这样就不会互相造成影响。展望未来,我们需要认真考虑VDI和其他客户端虚拟化技术以及如何隔离属于高安全区的虚拟客户端资源等问题。