服务器虚拟化技术在过去几年获得了长足发展。它只需要较少的硬件资源就能运行多种应用程序和操作系统,能允许用户根据自身需求快速调配新的资源。服务器虚拟化的优势已经从多方面论述过了,但对hypervisor安全缺陷的关注还不够。如果您由于不小心或缺少经验,就会很容易遇到安全问题。有专家警告说,虚拟服务器相对物理服务器而言更容易收到攻击,这也是管理程序技术开发过程中面临的新的隐患。
每台物理机执行多个工作负载同时也存在风险。每个实例之间必须相互隔离以免有意或无意相互干涉。hypervisor或虚拟机监控器VMM是虚拟硬件的软件,提供子机之间的隔离。但是面对相对较新的非主机虚拟化和处理密集工作负载的需求,hypervisor安全愈发重要。Gartner预测60%以上计划在2012年用虚拟服务器代理物理服务器的环境,安全性降低了。
更多企业转向虚拟化来降低成本和增加灵活性,同时又带来了虚拟化和hypervisor安全方面的花费。如今市面上有各式各样的虚拟化hypervisor,该如何选择才能在既降低成本的同时保护安全呢?
首先,hypervisor的代码越少就意味着受攻击的点越少。基于内核的虚拟机KVM hypervisor内置于Linux内核,利用Linux自身的调度器进行管理,所以其核心源码很少。KVM是裸机管理程序,无需修改操作系统直接运行于硬件系统之上,属于Type 1 hypervisor。由于Type 1管理程序以简化层的方式向虚拟机提交虚拟化后的硬件资源,因此它可以提供更好的性能和可扩展性。从而减少了运行管理程序本身所需的花销。
其次,在虚拟环境中,一个软件实例服务于多个客户端,这就涉及到子机隔离的问题。客户信任hypervisor。毫无疑问,hypervisor上面的子操作系统必须阻止安全漏洞的发生。并且,客户端数据的访问必须受到保护。由于KVM属于Linux一部分,所以遵循Linux进程隔离。在内核中,自主访问控制DAC阻止用户访问未授权的资源或其他进程。
同样,基于硬件的隔离也很重要。KVM使用专为虚拟化打造的处理器指令,确保在hypervisor之间子机的隔离。英特尔虚拟机扩展VMX技术与AMD安全虚拟机SVM说明添加了第三层隔离与保护。
与传统DAC对应就是MAC,即强制访问控制。除了DAC隔离,通过SELinux,KVM还集成了MAC。有了MAC,是管理员而不是处理器拥有者去决定哪些用户可以对哪些对象进行哪些操作类型的访问。sVirt API在SELinux中集成了MAC与Linux虚拟化,是红帽RHEL 6的一个默认选项。此外,在IBM系统上采用KVM的红帽RHEL通过了通用标准评估保准级别4+(EAL4+)认证,达到政府安全标准。
最后,KVM是由一个大型的、活跃的开放社区共同开发的,该社区的重要成员包括红帽、IBM、SUSE以及很多其它的IT领先厂商。这种基于开源技术的开发方法使得KVM能够获得更为快速的功能和版本升级。