我想制作一个可以在本地运行其他人代码的Web服务…当然,我想将他们的代码访问权限限制在某些“沙盒”目录下,并且他们将无法连接到服务器的其他部分(数据库,主数据库网络服务器等)
最好的方法是什么?
运行VMware / Virtualbox:
(+)我想它是一样安全的..即使有人设法“入侵” ..他们只入侵来宾计算机
(+)可以限制进程使用的CPU和内存
(+)易于设置..只需创建虚拟机
(-)很难将沙箱目录从主机“连接”到来宾
(-)浪费额外的内存和cpu来管理VM
运行特权用户:
(+)不会浪费额外的资源
(+)沙箱目录只是一个普通目录
(?)不能限制CPU和内存吗?
(?)不知道它是否足够安全…
还有其他方法吗?
服务器运行Fedora Core 8,即用Java和C ++编写的“其他”代码
我认为,从安全角度来看,首先允许在系统上运行本机代码不是一个好主意。也许您应该重新考虑允许他们运行 本机 代码,这肯定会降低风险。