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