sVirt与Docker支持:虚拟环境中的SELinux安全实践
1. 虚拟化基础术语
在虚拟化环境中,有几个常用术语需要了解:
-主机(Host):运行虚拟化软件的原生操作系统或服务器。
-客户机(Guest):运行在主机上的虚拟化服务,通常是操作系统或容器。
-管理程序(Hypervisor):管理虚拟化平台硬件抽象和资源共享能力的专用虚拟化软件。
-镜像(Image):代表客户机文件系统的单个文件或一组文件。
-虚拟机(Virtual Machine):客户机运行所在的抽象硬件或资源集。
2. 虚拟化风险及SELinux的作用
虚拟化虽然带来了诸多便利,但也伴随着一定风险,部分风险可通过与SELinux集成来缓解。
-虚拟机内数据敏感性:多个虚拟机共享主机时,可能因虚拟化软件漏洞、网络功能问题或侧信道攻击,导致一个客户机访问另一个虚拟机的敏感数据。SELinux可利用多级安全(MLS)控制数据敏感性,不同客户机运行时使用不同MLS标签,确保在虚拟化层也能保障数据安全。
-离线客户机镜像安全:管理员操作失误或虚拟机配置错误,可能使其他客户机访问离线镜像。SELinux通过正确标记客户机镜像,并区分离线和在线虚拟机镜像类型,防止此类情况发生。
-系统资源耗尽:虚拟机