随着虚拟化技术的兴起,以及许多企业因此改而在单台服务器上运行多个虚拟机,许多这些问题随之消失了。
由于现在将多个虚拟机放到单单一台服务器上,IT部门就能确保服务器的处理能力分配给了许多应用程序。通常以个位数来衡量的利用率现在可以提高到70%,甚至更高,确保了浪费在成本高、利用率低的服务器上的资本少得多。
向虚拟化技术转变的潮流带来了有时所谓的“虚拟化停滞”(virtualization stall),这也绝非什么秘密。这个问题是指,许多企业对25%左右的服务器进行虚拟化处理后,就停滞不前了。
如果你分析一下为什么会出现这个问题,通常会发现企业将所有简单的服务器(比如用于开发的机器以及DNS等低风险的内部IT应用程序)进行了虚拟化处理,却没有对生产环境的应用程序进行虚拟化处理。
造成虚拟化停滞的原因有多方面,但是重要的一个原因是安全。实际上,安全小组没有把握,不知道如何将为物理环境设计的安全做法搬到虚拟化环境。尽管存在这样的困惑,但方向很明确:必须更新安全做法,才能打破虚拟化停滞僵局。
下面是安全部门走向虚拟化未来时面临的三个最常见的问题:
一、对网络流量缺乏了解。
许多安全部门监控网络流量,以便识别和阻止恶意流量和企图渗透的活动。安全厂商们为此推出了专门的硬件设备,可以进行监控,以减小安装和配置工作的难度。这些硬件设备可以就像另一台服务器那样安装到网络上;只需要几小时或几天就能以安装并运行起来。这种硬件设备方法简化了安全做法,对处于困境的安全小组和IT运营小组来说是莫大的福音。
不过在虚拟化环境下,这种方法存在一个问题。同一台服务器上的多个虚拟机通过虚拟机管理程序的内部网络来联系,并没有数据包流经物理网络——而安全硬件设备就位于物理网络上,随时准备监测数据包。当然,如果虚拟机驻留在不同的服务器上,虚拟机之间的流量就会跨网络传送,那样就可以接受检查了。不过,出于性能方面的考虑,与同一应用程序相关的多个虚拟机(如某个应用程序的Web服务器和数据库服务器)常常放在同一台物理服务器上。
幸好,厂商们已挺身而出,积极解决这个问题。虚拟化技术厂商们提供了连接到虚拟机管理程序的软件接口,思科和Arista等网络厂商们已经在使用这些软件接口,与虚拟交换机集成起来,进而能够检查流量。所以,这个问题并非无法克服,不过它的确需要对现有的网络交换方法进行升级,还需要使用与这种更新的计算模式集成起来的安全产品。换句话说,这需要投入更多的资金。但是仅仅对网络流量缺乏了解绝不是企业推迟对生产环境的应用程序进行虚拟化处理的理由。
二、影响性能的安全开销。
在单单一台服务器上支持多个虚拟机的好处对于服务器制造商自己来说已经变得很明显,为此它们相应改动了自己的服务器设计。不像以前的1U比萨盒服务器也许只能支持四五个虚拟机,今天的4U刀片服务器配备了数百GB的内存和大量的网卡。因而,现在服务器通常能够支招25个或50个虚拟机。成本效益和利用率很高,但是在单单一台服务器上运行如此多的虚拟机会带来其他问题。
一个常见的问题归因于每台服务器管理自己的安全产品。一个典型例子就是反病毒软件。在许多IT部门,每台服务器每天同时更新自己的反病毒特征文件,因而导致25或50个虚拟机同时开始进行一样的操作。这拖累了服务器,因而导致吞吐量比较低。
幸好,现在市面上有新的技术解决方案。首先,正如虚拟化技术厂商提供了应用编程接口(API),让网络厂商们可以与虚拟机管理程序集成起来,它们现在还提供专门的API,让安全公司们可以推出不需要安装到每一个虚拟机上的新产品。相反,这些产品本身就是虚拟机。
当虚拟机管理程序认识到需要调用反病毒软件(比如要求访问在打开之前必须先浏览的文档)的流量时,它会把这个调用转发到虚拟机上的反病毒软件,由虚拟机来执行扫描。一个虚拟机代表所有25个虚拟机运行反病毒扫描,而不是25个虚拟机运行各自的反病毒扫描——这显然是一种更好的方法。
你可能也猜到了,第二个方法是基于云。面对对文档进行重复性反病毒扫描这样的任务——需要分发数百份或数千份(可能甚至数百万份)反病毒特征文件,何不让成千上万的端点访问一款放在中央位置的、基于云的解决方案呢?提供商能确保自己有足够的资源来处理所有流量,而用户避免了性能问题,又不必把更多的资本投入到安全软件上。这种方法带来了显著效益,我们在不远的将来会听到基于云的安全方案方面的更多动静。
三、安全边界遭破坏。
今年1月,我在华盛顿出席了首届安全威胁大会。会议的一个主题是,以为自己的安全边界牢不可破是愚蠢的想法。有组织犯罪团伙的兴起以及政府资助的黑客的出现,意味着不法分子针对感兴趣的目标发起了手段极其高明的攻击。
互联网安全联盟(Internet Security Alliance)的首席执行官Larry Clinton提供了一些骇人的统计数据,关于目前的安全威胁以及它们对如今IT做法的影响。简而言之,目前的安全方法都不够有效。要是不法分子将目光移向贵企业,就会设法进入到你的网络上。他们能够安装持续相当长时间的僵尸程序,可以仔细翻查你的服务器,查找和窃取重要数据。这些不法分子采用的手法归于 “高级持续性威胁”(简称APT)这一类攻击。
那该怎么办呢?
当然,一个办法就是整合一层新的安全产品——这种产品专门用来对付APT。新老厂商随时准备向你销售针对APT的产品。我不会拒绝考虑这种方法,但是我对这种威胁的看法是,它无异中加大了安全做法在单台服务器或单个虚拟机层面的重要性——换句话说,就是实例层面的安全。你绝对应该运行完整性监控,并且使用机载入侵预防系统。
当然,把这些产品放到每一个虚拟机上的做法与“把安全移到虚拟机外面”的做法相冲突,但是一种更合理的想法是,只能在虚拟机上执行的安全机制应该放在虚拟机上执行,而可以在几个虚拟机之间共享的安全机制应该迁移到某个中央位置。没有十全十美的解决之道,但是安全向来需要权衡利弊,不是吗?
结束语
虚拟化技术带来的经济意义意味着,这种计算模式可能会变得很广泛。就因为目前的安全做法未得到支持而试图抵御这项技术广泛应用,就好比试图逆潮流而行,那是徒劳无益的。