在ubuntu中沙箱化像firefox或thunderbird这样的X应用程序的最佳方法是什么(进入qubes os所做的方向,但仅适用于单个应用程序)?
我知道有许多不同的沙盒技术。例如
仅使用虚拟盒:这似乎非常安全,但资源过度使用。您需要 VirtualBox 中的最小操作系统才能运行 firefox。
使用SE-Linux 沙盒技术。这似乎是最好的选择,但据我所知,SElinux 在 ubuntu 中可用,但默认配置得不是很好(例如与 RedHat-linux 相比)。此外,SELinux 的沙箱部分似乎丢失了:https ://unix.stackexchange.com/questions/67127/how-do-i-install-selinuxs-sandbox-utility-on-linux-mint-debian-edition?lq =1所以必须编译它。
apparmor 等价物似乎还没有准备好生产,据我所知,目前还没有随 ubuntu 一起提供。但是,我无法估计开发的状态是什么,以及是否值得等待下一个 ubuntu 版本,它可能会成为其中的一部分。
gnome 桌面似乎支持X-sandboxing。我不清楚是否可以以独立于 wm 的方式使用它。
lightweigt 工具mbox似乎只在文件系统级别上运行,这对于 X 应用程序来说是不够的。
自制的 chroot 解决方案也是如此,例如sandfox-script。
比 chroot 更轻量级和安全的选项似乎是Plash。但我不确定 X 保护的实施情况如何。
还有一个名为arkose的程序似乎很好地支持 ubuntu,但同时很少有关于它如何工作的文档,我不知道它与其他方法相比有多安全。
Docker似乎更多地用于服务器应用程序而不是桌面应用程序。我不知道它对于 X 应用程序是否安全。有一个名为 kagome 的较新项目,它似乎将 Docker 与 xephyr 结合起来进行 X 隔离。但作者指出 docker 存在一些安全漏洞,最好切换到其他容器解决方案,例如 systemd-nspawn、rkt 或 lxd。
其他解决方案有:seccomp-nurse、Rainbow、vagrantup
最后,特别是对于 firefox,有一个适用于 ubuntu的apparmor 配置文件,但默认情况下未启用。这不是沙箱,但在使用 firefox 时应该为您提供一定程度的安全性(但我不知道它与上面的沙箱解决方案相比如何)。
所以似乎有很多方法,但我不知道这些方法如何(以及为什么)在沙盒X应用程序(如 firefox 或 Thunderbird)的安全性方面进行比较,在可用性方面,尤其是在 ubuntu-linux 中,并且已经准备好生产并且运行良好支持的。如果有人可以提供一些有关此的详细信息,如何对它们进行分类以及其中哪些值得我仔细研究以达到我的目的,那就太好了。