我目前正在开始一个项目,评估不受信任的程序(学生作业)在一个安全沙箱环境。主要思想是为GlassFish和Java创建一个web应用程序,围绕LXC来管理LXC容器。它将有一个等待程序队列,Java包装器将维护一个固定数量(池)的LXC容器,为每个程序分配一个(未使用)容器。
每个容器都应该使用SELinux进行保护,以保护主机系统。
我的问题是:为沙箱环境建立这样一种机制是个好主意,还是有更合适的解决方案?它应该是轻的和安全的学生创造力。
发布于 2013-10-06 11:45:55
您没有编写选择LXC的原因,因为它不是最安全的虚拟化解决方案。我是KVM/XEN和LXC的大量用户,我可以说,在安全性方面,我从不使用Linux容器(不管LXC / OpenVZ / VServer)。使用KVM/XEN更容易(也更可靠)。
如果是关于性能或硬件需求的,那么可以--您可以尝试使用LXC,但是有一些规则您应该遵循:
从阅读这开始--这是相当古老的,但仍然--那里有很多知识。也见过用户命名空间
在这一切之后,再想想--你真的有那么多时间玩LXC安全吗?KVM太简单了..。
发布于 2014-06-21 10:35:00
对于运行不受信任的程序,Linux名称空间仍然是最好的解决方案。它比KVM更容易设置,而且需要更少的资源。您可以尝试LXC,但是LXC是作为运行完整Linux发行映像的更通用的沙箱构建的。还有另外两个Linux名称空间沙箱:
https://unix.stackexchange.com/questions/93322
复制相似问题