Ruby中的安全执行

时间:2012-06-05 06:58:43

标签: ruby-on-rails ruby security process

我正在努力建立一个人们可以在那里运行上传代码的网站。类似SPOJ / ACM的东西。如何确保代码不会损坏我的系统(限制对套接字,系统调用的访问)

我在网上看了很多解决方案,有些建议chroot但我不明白。这也需要配置,这可以通过配置等来完成。

注意我不是要求使用可执行文件运行的任何特定语言。

我的开发设置是用于托管的MAC和Linux,如果解决方案可以同时运行,那就太好了。不是要求。

3 个答案:

答案 0 :(得分:1)

我建议使用一个只有系统最小的虚拟机,只允许运行ruby而不使用其他任何东西。我会使用一个linux系统,你可以用更大的权限锁定程序的执行。

最后在每个程序运行后,将虚拟机重置为检查点原始设置,以便擦除可能发生的任何事故。

答案 1 :(得分:0)

查看RubyCop

  

RubyCop扫描Ruby代码并告诉您它是否安全。我们在CodeSchool使用它来检查用户提交的代码,然后再在服务器上进行评估。

答案 2 :(得分:0)

请检查Ruby内置tainted机制