当前位置: 首页 > 面试题库 >

在服务器上运行其他人的代码(沙盒)的安全方法?

符棋
2023-03-14
问题内容

我想制作一个可以在本地运行其他人代码的Web服务…当然,我想将他们的代码访问权限限制在某些“沙盒”目录下,并且他们将无法连接到服务器的其他部分(数据库,主数据库网络服务器等)

最好的方法是什么?

运行VMware / Virtualbox:

(+)我想它是一样安全的..即使有人设法“入侵” ..他们只入侵来宾计算机

(+)可以限制进程使用的CPU和内存

(+)易于设置..只需创建虚拟机

(-)很难将沙箱目录从主机“连接”到来宾

(-)浪费额外的内存和cpu来管理VM

运行特权用户:

(+)不会浪费额外的资源

(+)沙箱目录只是一个普通目录

(?)不能限制CPU和内存吗?

(?)不知道它是否足够安全…

还有其他方法吗?

服务器运行Fedora Core 8,即用Java和C ++编写的“其他”代码


问题答案:
  1. 在没有特权的用户下运行,仍然允许本地攻击者利用漏洞来提升特权。
  2. 允许在VM中执行代码也是不安全的。最近的VMWare漏洞报告显示,攻击者可以访问主机系统。

我认为,从安全角度来看,首先允许在系统上运行本机代码不是一个好主意。也许您应该重新考虑允许他们运行 本机 代码,这肯定会降低风险。



 类似资料:
  • 问题内容: 我正在使用Node.js和Socket.io。我编写了一个应用程序,可以从服务器发送JavaScript代码段并在客户端上执行它们。JavaScript通过安全WebSocket(WSS)发送,并且客户端具有侦听器,该侦听器将执行通过服务器传递给它的任何代码。 这个简短的脚本演示了原理:http : //jsfiddle.net/KMURe/,您可以将onScript函数视为套接字侦听

  • 我无法在VS代码上运行Tomcat服务器。 错误信息如下 但是,我的tomcat文件夹放在D驱动器上,与源代码文件夹相同。我不知道它为什么要搜索“C:\Program”文件夹。如果你能帮忙,我真的很感激。非常感谢。 jdk1.8 Windows10 VS code1.47.2 Tomcat9.0.37 在此处输入图像描述

  • 问题内容: 我正在尝试针对我的代码库创建自定义静态分析规则,以便如果开发人员未遵循我公司的编码约定,则会生成编译器错误。在Visual Studio 2015中,罗斯林代码分析器似乎是实现此目标的方法。 我读过的MSDN文章指出代码分析器已打包为NuGet或VSIX软件包。这对于在Visual Studio中添加红色花体非常有用,但是我想确保在我的Jenkins构建服务器上也生成了编译器错误。 R

  • 问题内容: 我从以下位置下载了针对Apache 2.2和python 2.7(64bit)的mod_wsgi 。(我正在尝试让django在我的计算机上运行)。 每当我添加以下行时: Apache无法启动。谁能告诉我这个问题可能是什么? 问题答案: 您需要执行以下操作来为Django设置Apache。我假设您在安装了WAMP服务器( 32位* )的Windows( 32 位 )上使用Python

  • 我有以下目录布局:程序文件夹包含java、类和包文件夹,我的当前位置是程序/java,其中包含a.java和b.java文件。最初类和包不包含任何内容。 b、 爪哇 a.java 现在,从program/java发出以下命令 它在包下创建comm/domm,并在程序/pack/comm/domm中放置b.class,在类下创建com/dom,并在程序/class/com/dom中放置a.class

  • 问题内容: 我有一个由Jetty驱动的网站。 我想使网站密码受保护(或类似)。 有没有一种方法可以通过单独配置来实现(无需触摸代码)。 所有帮助,不胜感激。 担 问题答案: 一种方法是通过为应用程序设置基本身份验证。仅当您使用ssl时才应执行此操作,但是没有ssl的登录仍然不安全,因此我想您已经拥有了。 在Jetty中有很多方法可以做到这一点,但这只是其中之一。 首先,您必须定义一个领域,在其中定