虚拟安全技巧:在虚拟化环境中的安全规则

在之前文章“虚拟安全技巧:易受攻击的点 ”中,我们介绍了虚拟安全中的物理安全、如何保护管理控制台以及阻止虚拟机内部的攻击。现在我们来看看其他一些方面。

常用工具和API的安全防护

虚拟安全策略中还应该包含其它的一些易攻击点,包括登陆程序和API。

通常而言,虚拟机都会建立客户端OS到管理程序间的访问通道。例如,在VMware中通过VMware Tools来建立这种通道。VMware Tools中包含了一组驱动和程序,可以实现宿主机和客体机之间的多种交互,包括时间同步、内存管理、远程管理的文件拷贝和粘贴服务等。VMware Tools还可以允许从客体机OS向宿主机文件系统内的文件写入数据,以及记录故障诊断相关的虚拟机信息等等。恶意程序会向这些日志文件中写入大量的数据从而占满整个宿主机的数据存储空间,相比物理安全这也是一种全新的潜在风险。

管理程序中还会提供很多API,供第三方应用完成同管理程序和虚拟机之间的通讯。虽然API很难被攻击,但毕竟也是潜在的安全漏洞之一。在不使用时,禁用和限制这种交互,可以提供对API更好的防护。您可以添加对日志文件增长的限制条件,或者是完全禁止这种操作,限制到宿主机系统和VM控制台的访问。

虚拟磁盘文件的安全

在物理安全中,几乎可以忽略失窃的情况,从数据中心偷走一台物理服务器或是其它硬件可没那么容易。但是在虚拟安全领域,数据中心本身就是安全隐患。

由于虚拟机可以被压缩成一个虚拟磁盘文件,因此移动起来很方便——例如,可以拷贝到闪存中装走。攻击者甚至不需要登陆到数据中心内部,只要可以访问宿主机的数据存储设备就可以了。黑客登陆宿主机后,通过客户端的管理终端Secure Copy工具可以访问存储的数据和下载文件。

其它一些可能的途径包括访问备份存储设备或者是虚拟机存储设备所在的网络。黑客通过简单地从宿主机下载整个虚拟磁盘文件到任意一台工作站上,然后把它拷贝到可移动USB上就可以随身携带走。在其它地点,只要安装相同的管理程序软件,然后mount磁盘或启动虚拟机就可以访问该虚拟机上的所有内容。

把虚拟磁盘文件安全作为安全策略的一部分是很有必要的。限制到主机数据存储区域的访问、定期登陆检查是否被攻击、建设物理上分离的存储网络等方法,保证只有存储设备和宿主机可以访问。

另外请了解一点,当从数据中心执行删除或移动某台虚拟机等操作后,该虚拟机的数据依然在磁盘上。如果在同一磁盘上创建了新的虚拟机,很可能两台虚拟机使用了同一块数据存储区域(这仅适用于虚拟磁盘是完全分配的情况)。通常,只有新虚拟机向存储区写入数据时才会分配空间。由于老的数据在一定时间内不会被完全清除,所以存在通过某种方式被访问的可能。为了防止出现这种情况,您可以通过在创建新磁盘时选择立即清除数据存储区,或者是使用一些基于操作系统内的相关工具来实现。