要有效地保护 Oracle VM Server for SPARC 虚拟化环境,需要保护操作系统以及在每个域中运行的每项服务的安全。要降低违规行为成功得逞的影响,需要将服务部署到不同的域来隔离服务。
Oracle VM Server for SPARC 环境使用虚拟机管理程序对逻辑域的 CPU、内存和 I/O 资源进行虚拟化。每个域就是一个独立的虚拟化服务器,必须保护其免受可能的攻击。
利用虚拟化环境,可以通过硬件资源共享,将多个服务器整合到一个服务器中。在 Oracle VM Server for SPARC 中,CPU 和内存资源以独占方式分配给每个域,这样可防止过度使用 CPU 或过度分配内存造成的滥用。磁盘和网络资源通常由服务域提供给许多来宾域。
在评估安全性时,始终假定环境中存在攻击者可利用的缺陷。例如,攻击者可能会利用虚拟机管理程序中的弱点劫持整个系统(包括其来宾域)。因此,请始终部署系统以最大程度地降低发生违规时的损坏风险。
执行环境包含以下组件:
虚拟机管理程序-特定于平台的固件,可以虚拟化硬件,并严重依赖内置于 CPU 的硬件支持。
控制域-一种专门的域,可以配置虚拟机管理程序以及运行管理逻辑域的 Logical Domains Manager。
I/O 域或根域-一种域,拥有平台的全部或部分可用 I/O 设备,并将这些设备与其他域共享。
服务域-一种域,可以向其他域提供服务。服务域可能会提供对其他域的控制台访问权限,或者提供虚拟磁盘。提供对其他域的虚拟磁盘访问权限的服务域也是一种 I/O 域。
有关这些组件的更多信息,请参见图 1 以及更详细的组件说明。
通过再配置一个 I/O 域,可以提高冗余 I/O 配置的可维护性。也可以使用第二个 I/O 域来隔离硬件以防安全违规。有关配置选项的信息,请参见Oracle VM Server for SPARC 3.4 管理指南。
Oracle VM Server for SPARC 在执行环境中有多个攻击目标。图 2 显示了一个简单的 Oracle VM Server for SPARC 配置;在该配置中,由控制域向来宾域提供网络和磁盘服务。这些服务是通过在控制域中运行的守护进程和内核模块实现的。Logical Domains Manager 为每项服务分配逻辑域通道 (Logical Domain Channel, LDC),并指定一个客户机来简化这些通道间的点到点通信。攻击者可能会利用任何组件中的错误来突破对来宾域的隔离。例如,攻击者可能会在服务域中执行任意代码,也可能会中断平台上的正常操作。
图 2 Oracle VM Server for SPARC 环境样例