8.3. Selinux


强制访问控制通过将 QEMU 进程的权限限制为仅需要什么来限制尝试攻击的影响。在 Red Hat OpenStack Platform 上,SELinux 配置为在单独的安全上下文下运行每个 QEMU 进程。为 Red Hat OpenStack Platform 服务预先配置了 SELinux 策略。

OpenStack 的 SELinux 策略旨在帮助保护 hypervisor 主机和虚拟机免受两个主要威胁向量:

  • 管理程序威胁 - 虚拟机内运行的应用程序会攻击虚拟机监控程序访问底层资源。例如,当虚拟机能够访问虚拟机监控程序操作系统、物理设备或其他应用程序时。这个威胁向量代表了一些风险,因为虚拟机监控程序上的破坏可能会破坏物理硬件,并公开其他虚拟机和网络段。
  • 虚拟机(多项目)威胁 - 虚拟机内运行的应用程序会攻击虚拟机监控程序访问或控制另一个虚拟机及其资源。这是虚拟化独有威胁向量,并代表因为单个应用程序中漏洞导致虚拟机文件镜像的多形风险可能会被破坏。这种虚拟网络攻击是一个主要关注,因为保护实际网络的管理技术不会直接应用到虚拟环境。每个基于 KVM 的虚拟机都是一个进程,由 SELinux 标记,有效建立每个虚拟机的安全边界。此安全边界由 Linux 内核监控和强制实施,限制虚拟机对边界外资源的访问,如主机机器数据文件或其他虚拟机。

无论虚拟机中运行的客户机操作系统是什么,红帽都会提供基于 SELinux 的隔离功能。可以使用 Linux 或 Windows 虚拟机。

8.3.1. 标签和类别

基于 KVM 的虚拟机实例使用自己的 SELinux 数据类型标记,称为 svirt_image_t。内核级别保护可防止未经授权的系统进程(如恶意软件)操作磁盘上的虚拟机镜像文件。当虚拟机关闭时,镜像将存储为 svirt_image_t,如下所示:

system_u:object_r:svirt_image_t:SystemLow image1
system_u:object_r:svirt_image_t:SystemLow image2
system_u:object_r:svirt_image_t:SystemLow image3
system_u:object_r:svirt_image_t:SystemLow image4
Copy to Clipboard Toggle word wrap

svirt_image_t 标签 唯一标识磁盘上的镜像文件,允许 SELinux 策略限制访问。当基于 KVM 的计算镜像开机时,SELinux 会将随机数字标识符附加到镜像。SELinux 能够为每个虚拟机监控程序节点最多 524,288 虚拟机分配数字标识符,但大多数 OpenStack 部署不太可能遇到这一限制。这个示例显示 SELinux 类别标识符:

system_u:object_r:svirt_image_t:s0:c87,c520 image1
system_u:object_r:svirt_image_t:s0:419,c172 image2
Copy to Clipboard Toggle word wrap

8.3.2. SELinux 用户和角色

SELinux 管理用户角色。它们可以通过 -Z 标志查看,也可以使用 semanage 命令查看。在虚拟机监控程序上,只有管理员才能访问系统,并且应该拥有有关管理用户以及系统上任何其他用户的适当上下文。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat