机房360首页
当前位置:首页 » 虚拟化 » 白皮书:虚拟化数据中心的安全问题

白皮书:虚拟化数据中心的安全问题

来源:网络 作者:机房360整理 更新时间:2010/8/13 15:25:22

摘要:应用和操作系统虚拟化所包含的概念并非新概念,它们在服务器设备和桌面PC得到广泛普及的很长一段时间之前就已经出现。然而在过去几年内,虚拟化普及的速度(尤其是软件操作系统虚拟化)迅速提高。据EMC®公司CEOJoeTucci称,大部分VMware®客户已经计划在未来三年内实现其50%的IT基础设施的虚拟化2。虚拟机最终盛行起来,并且正迅速进入企业数据中心,成为各个地方的IT部门内所有人员和小组的通用工具。

  序言

应用和操作系统虚拟化所包含的概念并非新概念,它们在服务器设备和桌面PC得到广泛普及的很长一段时间之前就已经出现。然而在过去几年内,虚拟化普及的速度(尤其是软件操作系统虚拟化)迅速提高。据EMC®公司CEOJoeTucci称,大部分VMware®客户已经计划在未来三年内实现其50%的IT基础设施的虚拟化2。虚拟机最终盛行起来,并且正迅速进入企业数据中心,成为各个地方的IT部门内所有人员和小组的通用工具。

那么,到底什么是虚拟机呢?VMware对虚拟化的定义是“将物理硬件与操作系统分离的一个抽象层...”3当前,我们通常会认为虚拟机属于运行多个软件操作系统的一个硬件平台的范畴。最常见的是,这个概念通过一个硬件设备(主机平台)上一个操作系统而实现,即在虚拟机平台(客户端)上按顺序运行多个独立操作系统。平台虚拟化一般依赖于全面的硬件分区:允许每个客户端平台接入物理主机硬件的特定部分,而不会与主机平台产生冲突,或者对主机平台造成影响。例如,即使客户端操作系统与主机系统需要一样的CPU和RAM存取,客户端将使用与主机不同的硬件位置和地址。这允许主机和客户端依次运行,而不会互相冲突。平台虚拟化主要有两种类型:透明和主机感知(通常称为半虚拟化)。对于透明虚拟化的实施,客户端不知道它在虚拟化状态下运行。客户端消耗资源,就如同在本地运行于硬件平台上,有一点非常明确,即它由额外的一个组件进行管理,叫做VMM(虚拟机监视器),也叫Hypervisor。当前,更多标准形式的虚拟化(例如VMware的系统)实施透明的Hypervisor系统。这些系统可以被认为是代理:Hypervisor将透明地代理客户端和主机硬件之间的所有通信,向客户端隐藏其存在,这样,客户端就会认为它是唯一运行于该硬件上的系统。主机感知的实施有所不同,即客户端的内核中嵌入了某种类型的虚拟化知识;这些可以被视为“虚拟自我感知”环境。客户端操作系统内核的某些部分知道Hypervisor的存在,并与其直接通信。客户端操作系统并非透明地代理所有通信,而是直接调用Hypervisor,并管理对硬件的通信。Xen(发音是'zen')作为针对Linux的常用虚拟化实施系统,它采用主机感知架构,要求特殊的Hypervisor命令代码主动地运行在主机以及所有正在运行的虚拟化客户端中。每种虚拟化类型各有优缺点,但同样有效。透明系统对客户端来说最便携,但牺牲了速度,而且一般围绕更重的Hypervisor而设计;主机感知系统速度更快,重量更轻,但需要对客户端进行修改,而且可能引入透明系统所没有的安全性问题。推动虚拟化普及的一个因素是硬件对VMM硬件平台支持的开放性特点,它运行并管理主要的主机操作系统,而且VMM不是专业的设备或装置。虚拟主机平台可以是当前所用的任何类型的硬件:单CPU台式机、笔记本电脑、x86服务器、SPARC服务器、机架安装式设备等。在笔记本电脑上运行Microsoft®Windows®XPProfessional的普通用户可以运行其它通信的多个虚拟化事例—例如Linux、BSD或WindowsVista—可以使用任意数量的免费VMM软件。这种灵活性(虚拟化软件向常用硬件的转移)使每个人都能以经济的方式直接接入,以运行虚拟化环境。尽管这种接入方式最初是提供给专业技术人员,例如需要将Windows作为基础操作系统运行的Unix用户,但很快成为了IT经理谈论的话题。平台虚拟化为充分扩展服务器组和数据中心提供了一种经济的机制。虚拟化允许一个公司采购一台高端硬件设备运行20个虚拟操作系统,而不必采购20台商用的低端设备,分别运行每个操作平台。

虚拟化的威胁
  
虚拟化的好处显而易见:为您的人员提供更大的能力。但凡事各有利弊,虚拟化也不例外。有利的方面是主要的,为多个项目和环境提供更快的速度和灵活性。但不利的方面不很明显。用一台服务器的价钱运行20台服务器有什么不好?尽管目前尚未被视为重大的威胁,但虚拟机和环境的安全一般并未被考虑,并不是因为这些实施项目的安全性有技术难度,而是因为安全问题是实施大范围虚拟化的小组所未知的领域。换句话说,实施虚拟化时一般没有考虑它所带来的新安全风险。从表面上讲,虚拟化的BSD客户端与真正的单个设备具有同样的安全威胁和问题,这一点毋庸置疑。然而,主要的区别还在于额外的管理层:Hypervisor。

Hypervisor实际上是另一个操作系统,它管理主机OC和客户端OS之间的通信。管理员不用担心单个设备上的单个BSD,而是必须关注三个操作系统的安全。例如,如果您保证虚拟BSD客户端安装的安全,但未考虑主机和VMM的安全,则会忽略关键的组件。如果主机受到安全威胁,客户端设备上的安全则与此无关。尽管Hypervisor是虚拟化的“主控制器程序”,但它不是具有安全风险的唯一虚拟化抽象层。对于任何虚拟化系统,另一个关键方面是网络层。对于不同的虚拟化软件平台,构建和处理客户端与主机间的联网的方法也不同,包括从Qemu4最基本的通用网络仿真到VMware极为复杂的专用软件交换平台。虚拟化联网一般被认为“仅能运行”,应考虑虚拟机和环境安全研究的一个最重要方面。与硬件网络设备不同,基于软件的网络带来了在硬件中一般看不到的安全问题。例如,最近,VMware的客户端联网子系统在“仅集线器”模式下运行,即在同一个软件网络域内,同一个物理主机上的多个客户端实例可以公开地自由访问该域内共享的所有网络数据。它是通过软件实施的标准集线器。如果两台客户端都是同一个仅主机网络中的成员,并共享同一个虚拟接口,两台机器可以看到主机和客户端之间的所有流量。对于VMware的桥接模式配置,目前仍是这种情况,即所有客户端映射到同一个物理网络设备。尽管在更健壮的配置中设置了屏障,例如采用多个VMware软件联网设备(即vmnet0、vmnet1、vmnet2等),但整个网络管理子系统仍存在于软件中。采用多个虚拟网络接口分割流量相当于将两台机器插入同一个客交换机中,分别具有唯一的子网,但都没有被VLAN分割。

VMware也是软件网络安全迅速发展的例子。VWware在最新的企业版本中创建了极为健壮的软件交换网络,正在向虚拟交换(从2层VLAN到3层路由)的仅软件分区模式发展。图1表示具有多个虚拟VLAN分区的VMwareESX虚拟交换机(vSwitch0)。如图所示,'vm_oracle'和'vm_sharepoint'在不同的VLAN上,但两个网络都是同一个虚拟交换机的一部分,而且其流量要通过同一个物理网卡。但即使这些进步都考虑了安全性,软件交换仍然比硬件的风险大。在真正的网络环境中,相邻距离通常是攻击的一个重要屏障,与此不同的是,对于一台主机上的所有客户端,其它所有客户端和主机之间共享同一个软件堆栈。网络堆栈共享是虚拟化安全的一个主要问题;如果所有客户端和主机共享同一个网络堆栈,则攻击者只需攻击一台机器即可接入整个堆栈。例如,在VMware网络子系统中的一个简单攻击方法是:在主机软件交换网络驱动器处理VLAN标签和2层帧大小的过程中有一个漏洞—可允许客户端上的攻击者看到所有网络数据从客户端->客户端、客户端->主机传送。即使在主机和物理网络之间交换的数据也可能暴露于风险中,无论在多个客户端之间是否有软件分区。




最重要的是,平台虚拟化的范例需要将我们引导到新类型的管理员:系统、网络和安全管理员应进一步扩展他们所掌握的知识,了解虚拟化带来的新概念。网络管理员花费多年时间积累知识,但这些知识都是针对现实世界,即固态的交换机、电缆、CAM表以及受邻近性限制的VLAN。在虚拟世界中,不仅所有这些概念从硬件转向软件(许多情况下是从软件内核领域向用户领域转移),而且这些概念一直处于混乱和“封闭状态”,不适用于传统接入方法。管理虚拟交换网络的系统管理员再也不能使用简单的工具进行监控和故障排除。管理员不能走近虚拟交换机,插入笔记本电脑,添加一个网络分路器,可靠地对一个端口进行映射,或者查看虚拟设备的统计信息。所有这些能力和知识已经超出专业管理员的能力范围,而且对软件控制器、管理GUI、专用内核模块和二进制系统隐藏,最重要的是,已经进入了只有设计人员和开发人员知道如何真正管理设备的时代。设想一下如果一个人需要对10位架构师和设计人员构建的CheckPoint®防火墙或Cisco®交换机进行故障排除。这是一种可怕的情况。

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2010813/n02639166.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片