16.6. 用于虚拟化的 SELinux 布尔值
RHEL 8 提供了 sVirt
功能,它是一组特殊的 SELinux 布尔值,它们在 SELinux 处于强制模式的主机上自动启用。
要在 RHEL 8 系统上精细配置虚拟机的安全性,您可以在主机上配置 SELinux 布尔值,以确保 hypervisor 以特定的方式工作。
要列出所有与虚拟化相关的布尔值及其状态,请使用 getsebool -a | grep virt
命令:
$ getsebool -a | grep virt
[...]
virt_sandbox_use_netlink --> off
virt_sandbox_use_sys_admin --> off
virt_transition_userdomain --> off
virt_use_comm --> off
virt_use_execmem --> off
virt_use_fusefs --> off
[...]
要启用特定的布尔值,请以 root 用户身份使用 setsebool -P boolean_name on
命令。要禁用布尔值,请使用 setsebool -P boolean_name off
。
下表列出了 RHEL 8 中提供的与虚拟化相关的布尔值,以及它们在启用时的作用:
SELinux 布尔值 | 描述 |
---|---|
staff_use_svirt | 启用非 root 用户创建并转换虚拟机至 sVirt。 |
unprivuser_use_svirt | 启用非特权用户创建虚拟机并将其转换至 sVirt。 |
virt_sandbox_use_audit | 启用沙盒容器来发送审核信息。 |
virt_sandbox_use_netlink | 启用沙盒容器使用 netlink 系统调用。 |
virt_sandbox_use_sys_admin | 启用沙盒容器使用 sys_admin 系统调用,如 mount。 |
virt_transition_userdomain | 启用虚拟进程作为用户域运行。 |
virt_use_comm | 启用 virt 使用串行/并行通信端口。 |
virt_use_execmem | 使受限的虚拟客户机可以使用可执行的内存和可执行的堆栈. |
virt_use_fusefs | 启用 virt 读取 FUSE 挂载的文件。 |
virt_use_nfs | 启用 virt 管理 NFS 挂载的文件。 |
virt_use_rawip | 启用 virt 与 rawip 套接字交互。 |
virt_use_samba | 启用 virt 管理 CIFS 挂载的文件。 |
virt_use_sanlock | 启用受限制的虚拟客户机与 sanlock 交互。 |
virt_use_usb | 启用 virt 使用 USB 设备。 |
virt_use_xserver | 启用虚拟机与 X 窗口系统交互。 |