虚拟化安全 sandbox 技术分析

原文链接:https://cloud.tencent.com/developer/news/215218

前言:

libvirt-4.3搭配qemu-2.12使用,如果使用默认的编译选项,可能会让qemu无法正常启动虚拟机。会报出来“qemu-system-x86_64: -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny: seccomp support is disabled”的错误。

1, seccomp support is disabled

 

在编译的时候,没有打开CONFIG_SECCOMP编译选项。

 

从configure文件上来看,如果安装了libseccomp就是默认打开的;再或者就是--enable-seccomp和--disable-seccomp来控制。

2,libvirt

/etc/libvirt/qemu.conf中通过seccomp_sandbox来控制。

0是关闭,1是打开,-1是自动检测。注意,如果这里没有配置,libvirt则会自动检测。

那么就会出现上文的状况,libvirt的检测逻辑中,没有发现当前版本的qemu不支持sandbox,启动参数中带有了sandbox配置,导致qemu报错。

解决办法就是安装libseccomp,执行congfigure时添加--enable-seccomp,清空/var/cache/libvirt/qemu/capabilities重启libvirtd即可。

3,libseccomp

下载代码https://github.com/seccomp/libseccomp

libseccomp的代码量比较小,大约有几部分:

a,本地的db。用来保存seccomp的规则。

b,bpf生成。用来生成bpf代码。

c,使用syscall加载到kernel。prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, program);

4, PR_SET_SECCOMP

 

看一段man page,大意是说通过prctl的 PR_SET_SECCOMP可以限制进程使用syscall。更多的话,需要参考内存文档。

5,gvisor

Google搞了一个大新闻,开源了gvisor,地址https://github.com/google/gvisor

套路复杂很多,主要是为了容器使用的。

容器是直接运行在host os上的,可以访问host上的所有syscall,安全性上确实还不够。gvisor可以在一定程度上弥补这一点。

相比之下,虚拟机则不是,qemu使用到syscall集中于epoll,pread,pwrite,ioctl等比较有限的范围内。

转载于:https://www.cnblogs.com/wangjq19920210/p/9289321.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LXC(Linux Container)容器虚拟化技术是一种轻量级的虚拟化技术,适用于在单个主机上运行多个相互隔离的应用程序。与传统的虚拟机相比,LXC容器更加轻便和高效。 LXC容器虚拟化技术的研究主要集中在几个方面。首先,研究者致力于提高容器的隔离性。通过实现更严格的资源隔离和访问控制机制,可以保证不同容器之间的资源互不干扰,提高安全性和稳定性。 其次,研究者关注于提升容器的性能。通过针对不同应用场景的性能优化,可以提高容器的运行效率和响应速度。例如,使用特定的调度算法来优化容器的CPU、内存和网络资源分配。 此外,研究者还致力于提供更便捷的容器管理工具和技术。例如,开发了一些图形化界面和命令行工具,可以方便地创建、部署和管理容器。同时,为了提高容器的可靠性,研究者还研究了容器的镜像和备份技术,以及容器的自动化部署和扩展技术。 最后,还有一些研究关注于容器的安全性。容器虚拟化技术由于存在共享内核的特点,容器之间存在一定的安全风险。因此,研究者致力于开发能够检测和防御容器安全威胁的技术。例如,通过使用用户命名空间(user namespace)和容器沙盒(container sandbox)等技术,可以增加容器的安全性。 总的来说,LXC容器虚拟化技术的研究方向包括提高容器的隔离性、性能优化、容器管理工具和技术、容器安全性等。通过这些研究,我们可以更好地应用LXC容器技术,提高应用程序的部署效率和资源利用率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值