私有云下的服务器虚拟化平台安全初探

2018-03-19 16:10龙清罗炜
电脑知识与技术 2018年4期
关键词:隔离

龙清 罗炜

摘要:近年来,各类云计算平台、云服务平台发展迅速,对IT行业而言是一场大变革,服务器虚拟化系统就是这场大变革中的一种核心技术。服务器虚拟化系统带来巨大的便利的同时,也带来了新的安全挑战。如何防范虚拟化系统被恶意攻击,保护好内部虚拟机的安全是服务器虚拟化需要重点关注的方面。该文从虚拟机安全和虚拟化管理平台安全两方面着手研究安全保障问题,并尝试提出了一些安全风险防御手段。

关键词: 隔离;虚拟交换机;pvlan

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)04-0043-03

Primary Research on Server Virtualization Platform Security in Private Cloud

LONG Qing,LUO Wei

(Procuratorate of Hunan Province, Changsha 410001, China)

Abstract:In recent years, all kinds of cloud computing platform, cloud service platform developed rapidly, the IT industry is a big change, server virtualization system is a core technology in this big change. The server virtualization system offers great convenience as well as new security challenges. How to prevent the virtualization system from malicious attacks and protect the security of the internal virtual machine is the focus of the server virtualization needs to focus on. From the two aspects of virtual machine security and virtualization management platform security, this paper studies security issues, and attempts to put forward some security risk prevention methods.

Key words:isolated;vswich;pvlan

服务器虚拟化就是将服务器的物理资源集合转换成统一的逻辑资源,让一台物理服务器变成幾台或更多的虚拟服务器,也可以让多台物理服务器变为一台虚拟服务器,使使用者不受限于单台物理机上的资源界限,而是让服务器的CPU、内存、存储空间变成可以动态管理的“资源池”,让IT对业务的变化更具适应力。服务器虚拟化的方法大体分为三种:“一虚多”、“多虚一”和“多虚多”。“一虚多”是将一台物理服务器虚拟成多台虚拟服务器,即将一台物理服务器的CPU、内存等资源分割成多个相互独立的虚拟资源。“多虚一”是将多个独立的物理服务器集合变为一台虚拟服务器,使多台服务器的计算和存储资源能相互协作,共同处理同一个业务,提高服务器的处理能力。另外还有“多虚多”的概念,就是先将多台物理服务器的资源进行整合,然后再将整合后的资源按需要划分成多个虚拟机,将各类业务在多台虚拟服务器上运行,管理员可按需调整各个虚拟机的资源。图1为一个服务器虚拟化平台的标准示意图。每一个物理机上都运行了数量不等的虚拟机,而所有的物理机和存储则通过IP网络组成了支撑虚拟机运行的物理平台。

服务器虚拟化是一项十分重要的突破性技术,并得到了大范围使用,已经被证明能帮助用户解决在使用传统方法,即使用物理服务器搭建应用平台时出现的性能瓶颈问题,并给用户带来便利和利益。如通过服务器整合资源可在最大程度上提高投资利用率。另外,通过建立专门的虚拟服务器环境,可解决不同的物理服务器在兼容性方面出现问题。服务器虚拟化还具有透明负载均衡、动态迁移、故障自动隔离、系统快照等功能,可很大程度地提高服务器的可靠性,保障应用环境的稳定。在IT和网络世界,虚拟化已在短时间内产生了巨大的影响,并已经提供了巨大的成本节省和高投资回报率的数据中心和云计算平台。

然而,我们在享受虚拟化带来的便捷的同时,也面临着该技术带来的安全风险。服务器虚拟化带来的安全风险主要有以下几个方面:

1) 虚拟机内部攻击:一般情况下,运行在同一台物理服务器上的多个虚拟机是可以直接通信的,那么在这种通信过程中就会产生安全隐患,因为绝大多数传统的网络安全设备,如防火墙、入侵防御系统以及安全审计系统,都无法监测到某台物理服务器的内部数据流。如果某一台虚拟机受到病毒或木马的入侵,病毒或木马就可以轻松入侵同一台服务器上的其他虚拟机。传统的网络安全设备无法检测物理机内的网络数据,因此无法抑制同一主机内部的虚拟机攻击。另外,在虚拟环境中是通过CPU、内存和硬盘等来共享宿主机和虚拟机之中的资源,且不少虚拟化平台都可自动调整虚拟机资源占用率。所以一旦发生如拒绝服务攻击等消耗虚拟机资源的攻击行为,不仅会对虚拟机带来资源的消耗,还可能将攻击延续到宿主机之上,直到耗尽宿主机全部资源,最终让所有的虚拟机都没有任何的资源可以获取,从而影响到大量的服务[1]。所以相比传统的环境,服务器虚拟化环境应该更加注重对攻击行为的防护,以确保整个虚拟环境的安全性。

2) 管理复杂度高:在许多动态虚拟化管理平台下,各个虚拟机可以根据模版进行自动设置、重新配置,甚至自动迁移到其他物理服务器上。这使得管理员在追踪、维护和实施对虚拟机的安全策略时难度大大增加。虚拟机的自动迁移导致的虚拟机之间的直接通信会大大增加服务器受到攻击的机率。

3) 虚拟化管理平台安全风险:主要指虚拟化管理平台本身的安全风险。虚拟化管理平台 Hypervisor是全虚拟化和半虚拟化技术的关键层次,它集中掌控了底层硬件资源,并负责为上层虚拟机分配各种关键资源,因此在虚拟化架构中,虚拟化管理平台面临的安全威胁是最需要被关注的。如果虚拟化管理平台软件中存在安全漏洞,就可能导致用户数据泄露,使得某些用户的数据被其他用户访问到。一旦攻击者攻破虚拟化管理平台的软件漏洞,就能提升权限控制虚拟化管理平台,这就相当于掌控了整个服务器虚拟化系统。

根据以上情况分析,本文认为要解决虚拟化系统的安全问题,大体可以从两个方面着手,一是虚拟机本身的安全;二是虚拟化管理平台的安全。下面分别予以介绍:

1 虚拟机安全

首先,虚拟机的安全保障中最重要的一点就是虚拟机隔离,即保证不同的虚拟机之间不能直接互访,必须经过外部网关才可。一般来说,在虚拟化环境的网络架构中,一台主机通常配备多块物理网络适配器以支持冗余、负载均衡和隔离,通过将服务器物理网卡绑定一个虚拟交换机上的方式将网络资源分配给虚拟交换机。虚拟交换机(vswitch)是一个虚拟交换软件,主要用于虚拟机环境,虚拟交换机的作用主要有两个方面,一是传递虚拟机之间的数据流量,二是实现虚拟机与外部设备的通信。虚拟交换机广泛应用在基于基础架构服务(IaaS)的云平台中。虚拟化平台通过绑定了网卡的虚拟交换机为这台物理服务器上的虚拟机提供二层网络接入和部分三层数据转发功能,物理服务器上的网卡为虚拟交换机提供了上行链路与外界网络的连接。虚拟交换机的架构如图所示。

跟物理机一样,每个虚拟机也都有各自的虚拟网卡(virtual NIC),每个虚拟网卡都有各自的MAC地址和IP地址。上图中,虚拟交换机上的ABCDE是5个虚拟端口(virtual Port)。各虚拟机通过虚拟网卡连接虚拟交换机,并通过虚拟交换机连接物理网卡。以此方式,虚拟机上的数据报文则可以从物理网卡转发出去,并从物理网卡上接收报文转发给相应的虚拟机。根据虚拟化软件的功能,虚拟交换机还能支持安全控制、VLAN、网络监控、端口镜像、QoS、自动化网管等功能。大多数虚拟交换机和物理交换机一样,具备一定数量的端口,以及可以划分一定数量的VLAN(或称端口组),不同VLAN内的报文在传输时也是相互隔离的,不同的VLAN之间的用户也不能直接通信。如果不同VLAN要进行通信,则需要通过路由器、三层交换机等设备进行数据转发。而虚拟交换机所绑定的物理网卡所连接的物理交换机的端口属性,决定了该虚拟交换机是否可划分多个VLAN。如果物理网卡连接的物理交换机端口类型被设置成Access模式(即普通的划分了VLAN的端口),则这个物理网卡绑定的虚拟交换机下的所有端口也只能设置成该Access端口所指定的VLAN,该虚拟交换机所连接的所有虚拟机都会在一个VLAN下。如果物理网卡连接的交换机端口类型被设置成Trunk模式,则这个物理网卡绑定的虚拟交换机可以划分虚拟机端口组,每个端口组可以指定为不同的VLAN,VLAN之间的虚拟机必须通过所连接的物理交换机与网络中其他服务器通信。

为了使传统的安全设备能检测到虚拟机之间的数据流,需要让各虚拟机之间的通信都通过物理交换机进行转发。为此,可为每个要隔离的虚拟机都分配一个唯一的VLAN号,并将网关指向被防火墙或入侵防御设备防护的三层交换机,这样便可将虚拟机发出的流量全部引入到传统的物理网络中,由物理网络设备上的传统安全机制对这些流量进行过滤,放行安全流量,这些安全流量再回到虚拟化层次中的目的虚拟机[2]。在这种方式中,虚拟机中的数据流如下图所示:

但这种隔离方法有很大的局限性,主要表现几个方面,一是每个交换机都有VLAN数目的上限,限制了该交换机可划分的VLAN总数;二是每个交换机的Spanning Tree的运算会比较复杂,因为与每个VLAN相关的拓扑都需要管理;三是会造成IP地址的浪费,IP网段的划分肯定造成一些IP地址的浪费,因为即使不考虑其他情况,至少每个网段都会需要设定一个网关。地址段越多,网关地址也会越多,同样不利于维护管理。因此,这种防护方法仅适用于虚拟机数量不大的情况。在虚拟机数量庞大的情况下,还需依靠另一种技术,即PVLAN技术。PVLAN即私有VLAN(Private VLAN),也被称为“专用虚拟局域网”。其将VLAN分为上下两层,上层VLAN全局可见,下层VLAN对外隐藏。如果将虚拟交换机的每个端口设置成不同的下层VLAN,则可实现所有端口的相互隔离,但对外可用一个上层VLAN进行数据交换。PVLAN对于保障网络的数据通信的安全是非常有效的,它可以保证交换机上同一个VLAN中的各个端口相互之间不能通信,但可以穿过Trunk端口统一对外连接。在设置好PVLAN的虚拟化系统中,每个虚拟机通过各自的PVLAN口与各自的网关连接,不需要划分多个VLAN和IP网段就可提供具备数据通信安全的连接。管理员将所有的虚拟机都接入PVLAN后可实现既保证所有虚拟机与默认网关的连接,也保证虚拟机之间没有任何直接的数据流。这样即使病毒或木马程序感染了同一VLAN中的某一台虚拟机,其他虚拟机也不会直接受到病毒的影响。

另外,管理员可禁用虚拟机上用不到的服务和端口,精简虚拟机的操作系统,降低被攻击的几率。一般可以从以下几方面着手:

1) 禁用操作系统部分功能:对于许多虚拟机来说, FTP、远程桌面、GUEST賬户、远程调试等功能都不会用到,关闭这些功能并不会影响虚拟机的正常工作,但可大大减少虚拟机被攻破的几率;

2) 慎用服务器打印和文件共享功能:除了应用系统明确要求提供文件共享功能,否则管理员应禁用服务器文件共享功能。确有需要打开的,在文件共享功能使用完毕之后,也应及时停用;

3) 断开不需要的设备:很多虚拟化平台允许虚拟机直接或间接控制物理服务器,如光驱、USB接口、PCI接口等。一般来说,在虚拟机启动的时候会检测宿主机上的硬件设备,在动态分配资源的虚拟化平台中,多个虚拟机同时启动时第一个启动的虚拟机会优先抢占硬件资源,如果资源被抢占完,后面启动虚拟机对资源的使用申请会被挂起。因此,如果该虚拟机不需要某项资源,则应直接在虚拟机配置中将该项资源删除。另外,如果宿主机光驱里的光盘或U盘中有病毒,虚拟机有可能会自动加载并执行,从而感染病毒或木马。因此,安全的做法是关闭虚拟机所有不必要的物理设备连接,只在需要的时候才允许连接相应的物理设备;

4) 部署合适的防病毒软件:在虚拟化系统中,传统的防病毒软件难以满足虚拟化环境的要求。传统的防病毒软件往往需要在每台虚拟机上部署软件,但由于防病毒软件一般占用的资源都较多,若在每个虚拟机上都部署防病毒软件,会占用很多的宿主机资源。如果虚拟机上的防病毒软件统一进行系统扫描或升级,可能会直接导致宿主机宕机。因此应尽量选择专为虚拟化环境打造的防病毒软件。这类防病毒软件应做到只在宿主机上安装,即可达到防护该宿主机上所有虚拟机的效果。

2 虚拟化管理平台安全

虚拟化管理平台软件一般部署于服务器之上,提供创建、运行和销毁虚拟机的功能。虚拟化管理平臺的虚拟化模式一般分为三种,包括操作系统级虚拟化(如Solaris container、BSDjail、Linux-Vserver)、半虚拟化(如服务器硬件和Xen、VMware的结合)或完全基于硬件的虚拟化(如Xen、VMware、微软 Hyper-V)[3]。目前,由于云平台的推广,完全基于硬件的虚拟化管理平台成为了服务器虚拟化的主流。虚拟化管理平台安全最重要的一点即为保证该平台不被非法使用,主要应从两方面入手,即进行IP管理限制和强化身份认证。

IP管理限制方面,常规的手段是管理客户端的地址为本地地址段,禁止远端IP对虚拟化平台进行管理。但经统计,对信息系统的破坏有80%往往内部攻击造成的,所以仅从禁止远程管理是远远不够的。为此,管理者在搭建虚拟化平台的时候可采取管理地址段和业务地址段分离的方式来组建虚拟化平台,由于管理网络上没有业务数据,因此不会直接暴露在普通用户面前,大大减少了管理平台被攻击的几率。目前,诸如华为、H3C、oracle公司的虚拟化产品都采取了管理网络和业务网络分离的架构,用以保障其虚拟化管理平台的安全。

在身份认证方面,在虚拟化环境中使用双身份认证手段来鉴别用户身份是较为普遍的安全手段。很多企事业单位都建立了本单位或本系统的域,通过域控制器集中管理用户账号信息,用户在访问单位应用系统时首先需要经过域控制器进行身份认证,但由于密码可能被窃取或泄露,仅使用用户名+密码的方式进行身份认证并不安全。如果使用域认证+Ukey认证的双重身份认证方式,则可以大为降低身份认证方面的安全风险。对于像政府机构、大型企业这类办公地点分散,虚拟化平台的用户可能不在单位内部局域网的企事业单位,则还必须通过VPN加密的方式来验证远端用户的合法性,降低被攻击的可能性。

3 总结

本文列举了虚拟化平台可能存在的安全问题,并着重从虚拟机本身的安全和虚拟化管理平台的安全两方面进行了初步探讨。私有云下的服务器虚拟化平台面临的安全问题虽然没有公有云下那么明显,但由于数量多、总体规模庞大,依然必须引起高度重视。随着私有云技术的深入发展,基于云平台的安全技术和安全防护产品也在不断发展,只要找准了虚拟化平台中的安全漏洞与风险,有针对性地实施安全管理措施,就能保证单位私有云虚拟化平台的安全,确保业务工作的顺利开展。

参考文献:

[1] 张志国.服务器虚拟化安全风险及其对策研究[J].晋中学院学报,2010,27(3):83-85.

[2] 殷志越.服务器虚拟化安全解决方案及部署策略[J].技术交流,2014,12:19-21.

[3] 房晶.云计算的虚拟化安全问题[J].电信科学,2012,28 (4):135-140.

猜你喜欢
隔离
幼儿隔离中的安全问题
朱昱 十年“隔离”建构绘画体系