服务器 频道

石峰:虚拟化本质上并未降低安全性

    【IT168 报道】随着虚拟化概念的普及,相信很多人对虚拟化的好处已经有了一定的了解,但是在考虑“将虚拟化技术应用于生产环境,特别是关键业务应用中”时,不少用户对虚拟化的安全风险还存在不少顾虑。在此前IT168服务器频道针对网友的调查中就发现,在影响服务器虚拟化普及应用的因素中,“担心安全性问题,不把所有鸡蛋放在一个篮子里”、“虚拟化技术太超前,很多用户不了解”和“国内缺少成熟的解决方案和成功案例”分列前三位。

    对此,在2008年中国IT技术精英年会服务器存储分论坛上,VMware中国首席渠道系统顾问石峰表示,无论是虚拟环境还是物理环境,企业都需要关注安全性。在传统物理环境下,人们在安全性方面往往比较信赖硬件而非软件,而到了虚拟环境中,人们应该相信的是虚拟机管理程序和虚拟机抽象化这两部分。VMware ESX Server虚拟机管理程序在设计时采用了许多特有的安全特性,在处理器、内存、磁盘和网络等硬件资源虚拟方面也采用了许多专有的、用于增强安全性的技术。基础架构的虚拟化在本质上并未降低其安全性。

虚拟环境下我们信任什么

    “虚拟化对数据中心肯定会产生一些变化,大家除了关心性能、稳定性等因素变化外,更是特别关注安全性。作为一个新事物,虚拟化在系统硬件和操作系统之间增加了一个层次,自然会让大家产生一些担心。”石峰在演讲中谈到。他随后介绍了虚拟架构和物理架构的区别,以及这个平台系统对安全性的影响。

    从体系架构上来看,传统物理环境下采用的是一种“静态”的体系结构,硬件和操作系统是一一对应的关系,体系结构相对简单,两个系统之间完全通过硬件来实现隔离,但是这种“僵化”的结构也有局限性,如平台资源未充分利用,管理范围有限,业务部署和应用的灵活性较差,没有统一的管理界面来管理数据中心里所有的硬件资源,特别是在管理公用存储网络及异构操作系统平台时难度非常大。

    而虚拟环境下,硬件和操作系统是一对多的关系,通过虚拟化管理程序(虚拟化核心程序)来实施隔离,处于硬件和操作系统之间的虚拟化层打破了传统的紧耦合结构,因此体系结构更为复杂,平台的利用率更高,可提高应用的可移动性,共享管理范围,易于统一集中管理,从而提高整个IT架构的灵活性。

    物理环境和虚拟环境比较,安全性方面有什么不同。

    在传统环境下,大家一般认为,“硬件相对比软件更可靠。”因为现有的安全威胁主要是通过操作系统、网络、应用等途径而来的,很少来自硬件。因此,用户对硬件的信任程度要比上面的操作系统、应用系统软件、网络好很多。

    虚拟化最根本的是把底层的硬件通过虚拟化管理软件做成了一个虚拟的硬件结构。所以我们就要求“虚拟硬件”和“物理硬件”要有相同的可靠性和安全性,这样才能保证用户应用系统最基本的安全要求。

    “VMware的安全性体现在虚拟化管理程序和虚拟机部分。”石峰谈到。在传统物理环境中,我们相信“硬件”,而在虚拟环境中,我们要相信的是“虚拟化管理程序”。

    虚拟化管理程序是一个虚拟化内核程序,使多个操作系统能够同时在一台主机上运行,是操作系统和硬件之间的接口。“虚拟化平台实际上是把BIOS的功能延伸了,用来管理硬件,对硬件资源进行虚拟化,然后可以动态调度硬件资源,并提供给上层的虚拟机和虚拟操作系统来使用。”

    据介绍,VMware的虚拟化管理程序包括其核心软件VMware ESX Server中虚拟机监视器(Virtual Machine Monitor,VMM)、VMkernel和服务控制台(管理界面)三大组件。但是在VMware的最新产品ESX Server 3i中,已经从内核中去掉了服务控制台,由于软件更小(只有32M),使得其可靠性、安全性都得到大大提高。

    在增强安全性方面,VMware ESX Server具备以下特性:

    1) 可使代码库最小化:代码不超过50万行,仅占用32M存储空间,代码越少不仅能提高性能,也使得漏洞越少,传统的操作系统什么都管,要管所有的硬件、用户、文件、系统、应用程序等,所以很宠大,在稳定性和安全性方面的风险也就更大;

    2) 针对虚拟化这一目的进行了优化的虚拟化管理程序内核;

    3) 完全从头开始编写的内核,未继承任何传统的安全漏洞,其设计本身注重安全性,虽然这个内核符合传统的UNIX、LINUX语义规范,但是由Vmware自已写的,比较封闭,不易被黑客侵犯;

    4) 访问VMkernel的途径很少,只对Vmware的管理工具开放;

    5) 虚拟机与虚拟化管理程序之间实施了严格隔离。也就是说不管是用户还是黑客,他想通过虚拟机侵入到内核这条路,实际上已经堵死了。

    石峰认为,“从内核的角度上来讲,我们至少在业界当中是最可靠的。”

虚拟硬件能否实现跟物理硬件类似的安全性

    VMM虚拟机监视器可以模拟四大硬件资源:处理器、内存、磁盘和网络,然后嫁接到内核上面,可以对整个平台进行统一的安全性管理,“在硬件层次上实现跟物理环境类似的安全性。”

    在处理器方面,VMM 可为客户系统提供常规的虚拟 CPU。为实现兼容性,掩蔽了某些物理 CPU 功能。VMM 可确保无法访问掩蔽的功能。允许直接在物理 CPU 上执行非特权指令,特权指令的执行由 VMM 控制。

    在内存方面,每个 VM 都以为自己使用的是基于零的物理地址空间,ESX 通过添加内存地址转换层,将物理内存抽象化,内存隔离通过 x86 中的分段和分页功能实施(硬件实施)。在将物理内存分配给 VM 时,内存会清零,因此,不可能发生 VM 之间的内存泄漏。

    在硬盘方面,每个虚拟硬盘实际上都是一个文件,文件之间的隔离通过虚拟化管理程序实施,这种文件隔离与物理环境下的文件隔离相似。在将磁盘块分配给 VM 磁盘文件时,这些磁盘块会清零,因此,在将磁盘块重新分配给新的 VM 磁盘时,不可能发生数据泄漏。

    在网络方面,Vmware虚拟化层中有专门的虚拟化网络,即虚拟网卡实际上并不直接和物理网卡一一对应,而是“在物理网卡和虚拟网卡之间加了虚拟交换机”,从而可以提供很大的灵活性。虚拟机之间通讯可以通过专门供内部使用的虚拟交换机来实现,而另一台虚拟交换机可用来连接物理网络以进行对外访问,也就是说通过不同的虚拟交换机实现了内外隔离。

    由于网络上的安全漏洞要比其他硬件上的漏洞多得多,因此,Vmware在虚拟网卡和虚拟交换机上都采取了更多的安全性功能。

    其中,虚拟网卡具备以下三项安全配置选项:

    1) 默认状态下禁止对虚拟机使用混杂模式,在物理网卡当中,往往采用广播或多播的环境,每一个IP地址都会接收到相应的数据,而且要进行处理,这种处理有可能会让一些黑客和木马病毒抓住机会深入你的系统,而虚拟网卡通过完全禁止多播或者广播模式,只有单播的数据包才被虚拟网卡拿到;

    2) 可选禁止客户 VM 进行伪造的 MAC 传送,使得即便在一些黑客、病毒或者软件控制了一台虚拟机之后,也无法利用这台虚拟机通过改变自己的IP地址冒充其他机器进行非法活动;

    3) 可选禁止执行 MAC 更改,因为这种更改会导致其他漏洞的出现。

    在虚拟交换机方面,虚拟交换机始终知晓每个虚拟网卡的 MAC,且支持 VLAN 标记功能,以便在交换机中实施网络隔离,同时VMkernel 网络连接层不会触及第 2 层以上的网络数据包数据。

    石峰认为,“无论是虚拟环境还是物理环境,企业都需要关注安全性。Vmware通过一些专有技术,特别是在网络方面给系统管理人员提供了比较强大的网络安全功能,从而可以大大消除由于虚拟化所带来的一些额外的安全风险。基础架构的虚拟化在本质上并未降低其安全性。”

    他还建议,如果用户真正要想了解虚拟化对安全性的影响,首先要了解虚拟化到底是怎么做的,虚拟化能够提供什么样的安全防范措施,也要了解虚拟化增加了中间层之后会带来哪些潜在的收益和风险,对此,大家可以去参考Vmware关于安全方面的一些技术白皮书。另外在进行虚拟化系统的设计和实施过程中,建议要遵循 VMware 推荐的非常好的做法,这可以帮助用户解决一些可能潜在发展的安全问题。

0
相关文章