13.5. Red Hat OpenStack Platform 上的 SELinux
Security-Enhanced Linux (SELinux)是强制访问控制(MAC)的实现。MAC 通过限制系统中允许什么进程或应用程序来限制攻击的影响。有关 SELinux 的详情,请查看 SELinux 是什么?
为 Red Hat OpenStack Platform (RHOSP)服务预配置了 SELinux 策略。在 RHOSP 上,SELinux 配置为在单独的安全上下文下运行每个 QEMU 进程。在 RHOSP 中,SELinux 策略有助于保护虚拟机监控程序主机和实例免受以下威胁:
- hypervisor 威胁
- 在实例内运行的被破坏的应用程序可以攻击虚拟机监控程序访问底层资源。如果一个实例可以访问虚拟机监控程序操作系统,物理设备和其他应用程序可能会成为目标。这个威胁代表了显著的风险。虚拟机监控程序上的危害也可以破坏固件、其他实例和网络资源。
- 实例威胁
- 在实例中运行的已被破坏的应用程序会攻击虚拟机监控程序访问或控制另一个实例及其资源,或者实例文件镜像。用于保护实际网络的管理策略不会直接应用到虚拟环境。因为每个实例都是 SELinux 标记的进程,所以每个实例都有一个安全边界,由 Linux 内核强制。
在 RHOSP 中,磁盘上的实例镜像文件使用 SELinux 数据类型 svirt_image_t
标记。当实例被开机时,SELinux 会将随机数字标识符附加到镜像中。随机数字标识符可以防止被入侵的 OpenStack 实例访问其他容器。SELinux 能够为每个虚拟机监控程序节点上分配最多 524,288 个数字标识符。