我想创建一个 Web 应用程序,允许用户上传一些 C 代码,并查看其执行结果(代码将在服务器上编译)。用户不受信任,这显然会带来巨大的安全隐患。
所以我需要为应用程序创建某种沙箱。在最基本的层面上,我想将对文件系统的访问限制为某些指定的目录。我无法直接使用 chroot Jails,因为 Web 应用程序不是以特权用户身份运行。我想设置监狱的 suid 可执行文件将是一个选项。
上传的程序会相当小,因此它们应该快速执行(最多几秒钟)。因此,我可以在预设超时后终止该进程,但如何确保它不会生成新进程?或者如果我不能,杀死整个 pgid 是一个可靠的方法吗?
除了“根本不这样做”之外,最好的解决办法是什么? :) 我还错过了哪些其他明显的安全问题?
FWIW,网络应用程序将用 Python 编写。
与其他建议一起,您可能会发现这很有用。
http://www.eelis.net/geordi/ http://www.eelis.net/geordi/
这是来自http://codepad.org/about http://codepad.org/about, 键盘网站 http://codepad.org关于页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)