APP下载

虚拟机的安全分析与管理

2011-08-15王佳

太原城市职业技术学院学报 2011年11期
关键词:宿主机磁盘端口

王佳

(山西金融职业学院,山西 太原 030008)

虚拟机的安全分析与管理

王佳

(山西金融职业学院,山西 太原 030008)

使用虚拟化技术,可以让多台虚拟机在一台实际的计算机系统上运行,近几年以来,虚拟化技术被很多的单位和企业开始采用。虚拟机的安全性越来越被人们所重视,虚拟机的安全威胁包括虚拟机之间的通信、宿主机与虚拟机之间的相互影响、虚拟机与虚拟机之间的相互影响、虚拟机的逃逸技术、拒绝服务等。论文通过硬件和软件方面的安全防范方法来加强虚拟机的安全。

虚拟机;安全;宿主机

一、虚拟机概述

虚拟机(Virtual Machine)指具有完整硬件系统功能,通过软件模拟,运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,我们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,我们可以安装操作系统、安装应用程序、访问网络资源等等,这些虚拟机完全就像真正的计算机那样进行工作。对于在虚拟机中运行的应用程序来说,它就是一台真正的计算机,而对于我们来说,它只是运行在你物理计算机上的一个应用程序。

二、虚拟机的安全威胁

(一)虚拟机之间的通信

虚拟机一般实现四个功能:多个组织共享一个物理机;在一台计算机上,有高保密要求和低保密要求的应用;合并一些服务到少数物理机上提供一个通用硬件平台;承载多个操作系统。前三种情况都有隔离的需要,第一种情况下,其他组织是无法访问它们的;第二和第三种情况下,这些虚拟机不应该被不相关的人访问,第四种情况,虚拟化的目标一般是为了实现系统之间的交互。相对于物理机,虚拟机的安全问题是比较独特的。例如,允许数据在虚拟机和主机之间传输的剪贴板技术,这个功能很容易被恶意程序利用,方便它们在系统之间传输。又如,某虚拟技术在操作系统内核中提供了虚拟层的按键和屏幕记录,甚至虚拟机内的加密连接可以被监控起来。如果虚拟机没有进行有效的隔离,它可以无障碍地进入宿主机,这在侧重运行的应用设计里比较常见,所以也存在较大的安全隐患,应该使用彼此一个适当的方法进行隔离。

(二)宿主机与虚拟机之间的相互影响

宿主机对于虚拟机来说,是一个控制者,宿主机负责对虚拟机的检测、改变、通信,对宿主机的安全要更严格管理。根据不同的虚拟机技术,宿主机可在这几个方面影响虚拟机:启动、停止、暂停、重启虚拟机;监控和配置虚拟机资源,包括CPU、内存、磁盘、虚拟机的网络;调整CPU数量、内存大小、磁盘数量、虚拟网络的接口数量;监控虚拟机内运行的应用程序;查看、复制、修改数据在虚拟机的磁盘存储。由于所有的网络数据都会通过宿主机发往虚拟机,那么宿主机就能够监控所有虚拟机的网络数据。

(三)虚拟机与虚拟机之间的相互影响

虚拟机技术的主要特点是隔离,如果我们从一台虚拟机去控制另一台虚拟机,安全漏洞就会出现。CPU技术可以通过强制执行管理程序来保护内存,内存的管理程序应该是独立的,在正确的规则里,应该禁止从正在使用的内存看到另外一个虚拟机。也就是说,即使一台虚拟机上有内存没有被使用,另一台虚拟机也不能去使用这些闲置的内存。对于网络流量来说,每个虚拟机的连接都应该有专用的通道,虚拟机之间不能嗅探对方的数据包。但是,如果虚拟机平台使用了“虚拟hub”或者“虚拟交换”来连接所有虚拟机,那么虚拟机就可以进行嗅探,或者使用ARP中毒来重新定向数据包。

(四)虚拟机的逃逸技术

一个程序运行在虚拟机里,它应该无法影响其他虚拟机。但是,受技术的限制和虚拟化软件的一些bug,它们之间是相互影响的。虚拟机让我们能够分享主机的资源并提供隔离。在某些情况下,运行在虚拟机里的程序,会绕过底层,并利用宿主机,我们把这种技术叫做虚拟机逃逸技术,它会使整个安全模型完全崩溃。也就是说,如果在虚拟机上测试恶意软件、病毒,它们就会通过虚拟机进入系统。

(五)拒绝服务

虚拟机会强制占用一些虚拟机和宿主机共享的资源,从而使得其他虚拟机拒绝服务,因此我们需要限制虚拟机的可用资源。虚拟化技术可以把资源单独分配给一个虚拟机,通过正确的配置,可以防止虚拟机无节制地滥用资源,从而避免拒绝服务攻击。

三、硬件方面的安全防范

(一)硬件环境的问题

虚拟机运行时,要求在物理机上需要有足够的处理能力、内存、硬盘容量和带宽,因此需要一些额外的处理能力和内存。受资源的限制,有时候会分配超出处理能力的资源给虚拟机,比如有三个虚拟机,每个虚拟机申请峰值不超过500MHz的处理器时间,但是物理机实际上只是1GHz的CPU,由于它们满负载的时间不一致,因此可充分利用CPU资源。但这种方法也可能会导致拒绝服务,我们无法保证所有虚拟机不会在同一时间达到峰值,而且虚拟机资源共享机制比较简单,CPU、内存、磁盘、带宽都有可能出现资源不够用的问题。

(二)管理启动时的磁盘带宽

虚拟机在启动时会比较占用磁盘带宽,会同时加载一些库、守护进程及其他文件,即使有多个虚拟机,在正常运行期间,磁盘一般都能够提供足够的带宽。我们也可以用以下两种方法来解决:一是错开开机时间,首先启动最关键的虚拟机,另外一个虚拟机五分钟或者更长时间后再启动;二是给每个虚拟机一个专用物理磁盘。

(三)对虚拟机的访问加以限制

由于虚拟机很容易受到来自主机的攻击,所以要对主机的安全提供细致的安全措施很有必要,主机的所处的环境不同,形成的风险也不一样。

(1)考虑到主机的物理环境安全,对进入机房的身份卡验证,对进行机器加锁。

(2)设置在BIOS里只允许从主硬盘引导,禁止从其他设备引导,并且及时地对BIOS进行密码设置,防止被别人修改信息。

(3)对所有的外部接口进行控制。

(2)安装完系统后,及时地拆除光驱、软驱。

四、网络方面的安全防范

(一)给虚拟机层的端口加上防火墙

虚拟机除了可以使用主机上开放的端口,也会通过主机的IP开放一些端口,由于这些端口可以允许其他人通过远程连接到虚拟机层,配置或查看虚拟机、磁盘,也可能执行其他的任务。因此,我们需要一个宿主机的防火墙,对这些端口的访问加以严格的控制,只允许授权者对这些端口进行访问。

(二)加密通信技术的使用

尽可能地使用通信加密手段,用HTTPS、TLS、SSH,或者加密VPN来管理。除了加密机制以外,还应有身份鉴别和认证,以防止伪造源IP攻击、连接劫持、中间人攻击等。

(三)虚拟机的身份验证

虚拟机和宿主机一样也需要配置验证方式。比如密码的加密、登录次数的锁定或延时等。

五、服务和配置功能

(一)部分服务的功能可以禁用

在虚拟机中,有些功能的关闭不会影响到虚拟机运行,例如磁盘碎片整理、屏幕保护程序、病毒和恶意软件的扫描、文件完整性的检查、系统更新等。对于单一操作系统的虚拟机来说,这些不需要的服务在启用,它们占用了资源,可以关闭。

(二)加强文件共享的管理

在很多虚拟机软件的支持下,主机和虚拟机之间可以进行文件的共享,这样使用起来比较方便,也带来了安全方面的问题。由于可以实现共享,虚拟机就有机会对共享的文件进行操作。即使在没有共享目录的时候,激活的文件也可能到虚拟机的环境以外,因此,除了特别需要共享外,一般情况下把文件共享功能关闭。

(三)同步时间

在虚拟机中,它们的时间默认都是依赖于主机的时钟,而计算机的时间经常会不准确。因为时钟的不准确性,导致任务的滞后或提前的问题会发生。比如,我们规定周一到周二两天,其中的某些服务关闭,但是因为时间的不准确,可能会造成业务中断。由于时间的不确定性,我们无法从日志上得出事件的真实性。解决这个问题的办法是,在离网络比较近的地方配置同步时间服务器。

(四)把不经常使用的设备切断

由于虚拟技术允许虚拟机可以间接或直接地控制物理设备,比如光驱、软驱、打印机、USB接口等。在启动虚拟机的时候,会对这些硬件设备进行检测,在多个虚拟机同时启动的时候,第一个启动的虚拟机优先使用这些设备,而其他虚拟机的检测会被锁定,这会造成不必要的启动延迟。另外,如果在驱动器里有恶意代码,虚拟机可能会自动装入并执行,类似于自动运行的功能。建议只在需要的时候才允许连接所有可控制的物理设备。

[1]管建超.基于VM ware的虚拟机安全设计与实现[J].电力信息化,2010,(6).

[2]程川.一种基于Xen的信任虚拟机安全访问设计与实现[J].计算机与数字工程,2010,(3).

[3]蒋万春,汤立,陈震.虚拟化安全问题探析[J].信息网络安全,2010,(8).

[4]黄良良,韩军,汪伦伟.基于Xen硬件虚拟机的安全通信机制研究[J].计算机安全,2010,(3).

TN

A

1673-0046(2011)11-0179-02

猜你喜欢

宿主机磁盘端口
一种端口故障的解决方案
嵌入式计算机软件测试关键技术研究
解决Windows磁盘签名冲突
修改磁盘属性
虚拟网络实验室在农村职校计算机网络技术教学中的应用研究
端口阻塞与优先级
磁盘组群组及iSCSI Target设置
系统网络端口安全防护
创建VSAN群集
卫星三端口DC-DC变换器技术综述