传统的安全方法在虚拟化的世界里依然是可以使用的。用户不仅需要对服务器和相关的应用做保护,而且需要监控哪些人可以对哪些资源进行访问,对进入数据中心的访问者做鉴定和管理。赋予在数据中心内工作的用户以适当的通关权限,并在他们完成认证后给予相对应的访问权限。
另外,您还需要确保那些数据中心内可以做数据更改操作的人员都是拥有授权才这么做的,也就是说现有的安全方面的经验在虚拟环境里是可以获得延续的。如果您把现有的终端用户服务进程都迁移到了虚拟机和VSO上,那么传统的安全方法也应该位于同一级别上。
然而不幸的是,在为VSO提供物理资源的资源池级别上,从设计原理看,并不具备和用户进行交互的能力。资源池内的物理机仅仅是装载了虚拟化引擎的宿主机而已。因此,也只有管理员和技术人员可以跟物理机对话。
在这些环境里(资源池和VSO),通常运行时都带有一个特定的安全文本文件,而该文件是可以被中央目录服务所访问的。我们需要考虑分离不同环境中各自的安全文本文件。毕竟,如果资源池仅仅供管理员和技术人员访问,看起来我们根本没有必要把资源池相关的安全文本文件开放为用户共享模式。
事实上,用户不需要对资源池做任何操作。对于最终用户而言,他们也不需要和网络环境中的路由器或交换机做交互。因此,您需要为资源池和VSO创建独立的安全文本文件。例如,如果您运行了VMware或Citrix的虚拟机管理程序,而您的网络服务运行于Windows服务器上,那么资源池的安全文本文件会自动实现和VSO安全文本文件的分离(图1)。这也就是为什么宿主机环境(通常情况下是Linux)和VSO通常运行于不同操作系统的原因。这种方式也自然实现了两个安全文本文件的隔离。
(图一)
然而,如果宿主机和虚拟机所运行的操作系统相同的情况下,您就需要手动分离资源池和VSO的安全文本文件。这种情况一般发生在采用了微软的Hyper-V虚拟化管理程序,之上运行Windows网络环境的时候。同样,当我们运行了Linux网络环境而同时又采用了同一Linux系统下的虚拟化管理程序时也会发生。
以Windows网络环境为例,您需要分别为资源池和VSO创建独立的活动目录树,然后同时断开它们之间的所有连接。在两个独立的架构中创建分离的安全文本也是为了防止发生从一个环境向另一个环境中的渗漏(图2)。
(图二)
实现资源池的安全
为资源池创建独立的安全文本仅仅是实现虚拟架构安全的第一步。您还需要和其它的一些安全措施来配合使用。如下是一些额外的考虑:
掌控所有到资源池的访问以确保只有被信任的个体才具备访问权限。每个访问资源池的个体应该具备一个命名账户,而该账户和普通用户用来访问VSO的账户命名应该是有所区别的。
掌控所有到资源池管理工具的访问。只有被信任的个体拥有访问资源池组件,如物理服务器、虚拟化管理程序、虚拟网络、共享存储,及其它内容相关的管理工具的权限。向未被认证的用户开放管理工具的访问权限,就等同于向那些恶意操作开放了IT系统架构。
管理虚拟化引擎或管理程序的访问,以及其上运行的虚拟机。所有的虚拟机都应该是首先通过系统管理员来创建和保护的。如果某些最终用户,如开发人员、测试人员或培训者,需要和网络环境中的虚拟机交互,那么这些虚拟机应该是通过资源池的管理员来创建和管理的。
控制虚拟机文件的访问。通过合理的访问权限来实现所有包含了虚拟机的文件夹以及虚拟机所在压缩文件的安全。无论是在线的还是离线的虚拟机文件都必须获得严格的管理和控制。理论上来讲,您需要同时对虚拟机文件的访问做监管。
通过在宿主机上尽可能实现最小化安装来减少主机可能被攻击的接口。请确保虚拟化管理程序的安装尽可能的可靠。
部署适合的安全工具。为了支持合理的安全策略,您的系统架构应该包含各种必要的工具,如系统管理工具、管理清单、监管和监视工具等等,包括一些常用的安全设备。
分离网络流量。在一个正确设置的资源池系统中,应该包含有几个不同的私有网络用于:管理数据流量、在线迁移流量以及存储系统流量。所有的这些网络都应该和系统架构中的公网流量相分离。
深层防护策略
除了安全文本文件的隔离外,您还应该考虑对虚拟化环境采用深层防护策略。这个像城堡一样的CDS防护模型是由Resolution Enterprise Ltd.,公司提出来,该公司位于英属哥伦比亚省维多利亚地区,是一家独立的数据中心业务咨询公司,致力于推动深层防护方式。很多企业的传统服务提供网络都采用了深层防护策略,通过执行相应的策略实现对资源池的保护(图3)。
用户可以对资源池或者VSO采用CDS防护模式。如下的表1也显示了在您通过部署CDS模式对资源池进行保护时,分别在五个不同的层次上需要去考虑的问题。在这个表里,也同时列出了在对最终用户网络和终端网络(如资源池网络)分别部署CDS模型时采取的组件之间的差异。
表1
预防过度管理
改善资源池安全性的另外一个方法就是限制资源池管理的数量。拥有两个具备系统环境完全访问权的管理员已经足够了。然后,根据数据中心规模大小的不同,您可以基于每个角色所需完成的任务内容分配不同的权限和角色定义。资源池管理员应该可以管理VSO网络。如果您有足够的人手,那么最好把不同的管理角色分开。如果做不到的话,至少要确保管理在每个不同的环境中使用不同权限的管理角色登录。请理解,如果管理员在某个环境中扮演了指定的角色,那么他在不同的环境中完成同一动作时所扮演的角色是不同的。
最后,任何时候都要注意对虚拟机的保护。例如,虚拟机在暂停休息的状态下和活动的虚拟机相比其风险更高。因为当虚拟机处于保存状态时,会在内存中生成一个文件,而该文件保留了虚拟机所有相关内容。通过分析这个文件可以找到相应的用户名和密码相关信息。同样,如果有人窃取了虚拟机文件并带出了办公室,也会带来很大的风险。一旦他们在私有环境中搭建了该虚拟机,那么就很容易闯入我们的环境中。
【编辑推荐】