是否记得曾经虚拟化过的邮件服务器或者薪酬支付系统?如果拥有访问虚拟化工作环境管理员权限,就可以轻松地进入该虚拟化工作环境,并且窃取所有的数据,而又不会留下任何痕迹。从数据中心偷走一个物理服务器是非常困难的,并且也很容易被人发现。但是无论在任何位置都可以通过网络偷窃一台虚拟机,把该虚拟机装在闪存盘中就可以轻易地带走。
虚拟化技术可以提供很多物理服务器无法比拟的优势,但是仍然有一些需要注意的意想不到的安全风险,以防止敏感数据丢失。这是因为虚拟机被封装在一个宿主在虚拟宿主服务器上的单独虚拟磁盘文件中,对于具有对应访问权限的用户来讲,对这个磁盘文件做一份拷贝,并且读取该文件中的数据并不困难。完成这样的工作相当轻松,在此我们将向各位读者演示如何做到这些,希望能够帮助大家保护各自的工作环境。
通常有两种方法可以读取虚拟机的虚拟磁盘文件(.vmdk)。第一种方法是使用ESX服务控制台(ESX Service Console),如果拥有根密码或者主机上的用户账号,就可以读取包含虚拟机文件的VMFS卷,并且使用诸如“安全拷贝(Secure Copy)”或者SCP这样的复制工具就可以进行文件复制。第二种方法是使用vSphere或者包含有内置数据存储浏览器的VMware基础架构客户端。在这里我们介绍的是第二种方法。
第一步:虚拟机快照
需要做的第一步就是对虚拟机做一份快照。这样做可以使虚拟机的虚拟磁盘成为只读,并且对任何对磁盘的写操作都可以创建一个新的更新文件。 这一步必不可少,因为虚拟机正在运行并且正在使用磁盘文件——如果没有做这一步,则就无法复制VMDK文件,因为该文件在使用过程中被锁定。很多虚拟备份应用程序在备份虚拟机时也使用同样的方法,如果虚拟机处于关机状态或者挂起状态则就不需要进行这一步操作。
第二部:复制虚拟磁盘
接下来需要做的第二步是复制虚拟磁盘文件,也可以选择复制虚拟机的配置文件(.vmx),从而可以使导入Player或者Workstation的工作更加容易。虚拟磁盘文件(.vmdk)实际上包含两个文件,较大的一个文件中包含有磁盘块,较小的文件是磁盘描述符文件的文本文档。如果使用内置数据存储浏览器的vSphere客户端,可以看到这些文件作为一个整体出现,并且都可以被复制。如果使用诸如WinSCP这样另外的复制程序,则需要复制这两个文件。
浏览虚拟机运行的数据存储,查看虚拟机的文件目录,选择文件,然后选择下载;然后在运行vSphere客户端的PC机上选择保存下载文件的一个文件夹。根据虚拟磁盘文件的大小和网速的不同,该复制过程大概需要几分钟到几个小时不等。文件下载完成之后,就等于是为最后一步做好了准备。现在可以删除(或者忽略)虚拟机快照,因为已经完成了对磁盘文件的复制。
第三步:访问虚拟磁盘文件
现在既然已经拥有了虚拟磁盘文件,就可以读取该磁盘上的数据。既可以把数据复制到闪存盘内带回家,也可以在下载的PC机上读取这些数据。目前有两种方法可以使用来读取这些数据:
在VMware的虚拟磁盘开发工具包(VDDK :VMware's Virtual Disk Development Kit)中使用vmware-mount命令把虚拟磁盘文件挂载到PC机上,该虚拟磁盘文件将会以一个磁盘驱动符的形式在PC机上出现。这个方法只能够允许读取虚拟机上的文件,而不允许应用程序在其上运行;
把虚拟机导入到VMware Player、Workstation或者Server,然后启动。如果没有登录操作系统的任何证书,则该方法将无法使用。为了解决这个问题,可以使用一个Live CD启动系统,然后要么销毁或者更改管理员口令,要么直接访问文件系统。
想要了解这两种解决方案如何进行,请点阅读窃取虚拟机及其数据实战。
【编辑推荐】