第 8 章 sVirt
sVirt 是红帽企业 Linux 中包含的技术,其集成了 SELinux 和虚拟化。sVirt 应用强制访问控制(MAC)来在使用虚拟机时提高安全性。集成这些技术的主要原因是提高安全性并强化系统免受管理程序中可能用作面向主机的攻击向量或另一台虚拟机的攻击向量。
本章论述了 sVirt 如何与 Red Hat Enterprise Linux 中的虚拟化技术集成。
非虚拟化环境
在非虚拟化环境中,主机在物理上相互隔开,每个主机都具有自包含的环境,由 Web 服务器或 DNS 服务器等服务组成。这些服务直接与自己的用户空间(主机内核和物理主机)通信,为它们的服务直接提供网络。下图代表了一个非虚拟化环境:

虚拟化环境
在虚拟化环境中,单个主机内核和物理主机中可以存放多个操作系统(作为"guest")。下图代表虚拟化环境:

8.1. 安全性和虚拟化
如果未虚拟化服务,则物理分隔计算机。除网络攻击外,任何漏洞通常包含在受影响的计算机中。当服务分组在虚拟化环境中时,系统中会出现额外的漏洞。如果系统管理程序中存在可能被客户机实例利用的安全漏洞,此 guest 可能不仅能够攻击主机,而且能够攻击该主机上运行的其他虚拟客户机。这不是理论上的,虚拟机监控程序上已存在攻击。这些攻击可能扩展到客户机实例之外,并可公开其他客户端受到攻击。
sVirt 旨在隔离客户机并限制其启动后续攻击的能力(如果被利用)。在以下镜像中演示了这一点,其中攻击无法中断虚拟机并扩展到另一个主机实例:

SELinux 在实施强制访问控制(MAC)中引入了虚拟化实例的可插拔安全框架。sVirt 框架允许对客户机及其资源进行唯一标记。标记之后,可以应用可拒绝不同 guest 之间的访问的规则。