52 最佳实践-安全最佳实践-sVirt保护

文章目录

      • 52 最佳实践-安全最佳实践-sVirt保护
        • 52.1 概述
        • 52.2 开启sVirt保护
          • 52.2.1 开启主机的SELinux
          • 52.2.2 创建开启sVirt功能的虚拟机
          • 52.2.3 确认sVirt开启成功

52 最佳实践-安全最佳实践-sVirt保护

52.1 概述

在只使用自由访问控制DAC(Discretionary Acces Control)策略的虚拟化环境中,主机上运行的恶意虚拟机可能存在攻击hypervisor或其他虚拟机的情况。为了提升虚拟化场景的安全性,openEuler使用了sVirt保护。sVirt是基于SELinux,适用于KVM虚拟化场景的安全防护技术。虚拟机本质是主机操作系统上的普通进程,sVirt机制在hypervisor将虚拟机对应的QEMU进程进行SELinux标记分类,除了使用type表示虚拟化专有进程和文件,还用不同的的category(在seclevel区间)表示不同虚拟机,每个虚拟机只能访问自身相同category的文件设备,防止虚拟机访问非授权的主机或其他虚拟机的文件和设备,从而防止虚拟机逃逸,提升主机和虚拟机的安全性。

52.2 开启sVirt保护

52.2.1 开启主机的SELinux

使用root用户按照如下操作步骤开启主机的SELinux

  1. 登录主机。

  2. 开启主机SELinux功能。

    a.修改系统启动的grub.cfg,将selinux设置为1。

    selinux=1
    

    b.修改/etc/selinux/config,将SELINUX模式设置为enforcing。

    SELINUX=enforcing
    
  3. 重启主机。

    # reboot
    
52.2.2 创建开启sVirt功能的虚拟机
  1. 虚拟机配置文件中添加如下配置:

    <seclabel type='dynamic' model='selinux' relabel='yes'/>
    

    或确认没有下述配置:

    <seclabel type='none' model='selinux'/>
    
  2. 创建虚拟机。

    # virsh define openEulerVM.xml
    
52.2.3 确认sVirt开启成功

执行下述命令检查运行中的虚拟机QEMU进程是否已经启用sVirt防护,若存在"svirt_t:s0:c"表示已经启用sVirt防护。

# ps -eZ|grep qemu |grep "svirt_t:s0:c"
system_u:system_r:svirt_t:s0:c200,c947 11359 ? 00:03:59 qemu-kvm
system_u:system_r:svirt_t:s0:c427,c670 13790 ? 19:02:07 qemu-kvm

点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBZbzEHj-1687171710197)(https://superman-1306409616.cos.ap-beijing.myqcloud.com/image20230405203203.png)]

你可能感兴趣的:(虚拟化,开源软件,云计算,运维,linux)