Linux中的沙箱

我想创建一个Web应用程序,该应用程序将允许用户上传一些C代码,并查看其执行结果(该代码将在服务器上编译)。用户不受信任,这显然会带来巨大的安全隐患。

因此,我需要为应用创建某种沙箱。在最基本的级别上,我想将对文件系统的访问限制在某些指定的目录中。我无法直接使用chroot

jails,因为Web应用程序未以特权用户身份运行。我想设置监狱的suid可执行文件是一个选择。

上载的程序会很小,因此它们应该快速执行(最多几秒钟)。因此,我可以在预设的超时后终止该进程,但是如何确保它不会产生新的进程?或者如果我做不到,那么杀死整个pgid是一种可靠的方法吗?

除了“根本不做”之外,什么是最好的方法?:)我还错过了哪些其他明显的安全问题?

FWIW,该网络应用将使用Python编写。

回答:

连同其他建议,您可能会发现这很有用。

http://www.eelis.net/geordi/

这是http://codepad.org/about,codepad.org的有关页面。

以上是 Linux中的沙箱 的全部内容, 来源链接: utcz.com/qa/433392.html

回到顶部