是否有在服务器上运行用户提供的Java代码的安全问题的全面列表?我已经
在具有有限可用内存的单独进程中使用seconds
如果这重要的话,我将在FreeBSD服务器上运行这个程序。
发布于 2012-01-27 23:25:52
看起来是一个非常好的开端--安全性管理器对于沙箱处理其他一些您没有明确提到的东西是必不可少的(当然,防止用户禁用Security,并且能够调用任意命令,或者使用本机代码,或者让OS执行文件等等)。我假设您是从零权限开始,只是授予所需的显式权限。
安全管理器无法通过过度使用资源来处理拒绝服务,但您的其他控件可能会解决这个问题(防止网络连接、控制磁盘使用、超时以防止占用CPU --如果超时就是这样的话)。
您说的是“非常有限的文件系统权限”--希望这也包括磁盘配额?您是否正在运行多个不受信任的进程,它们是否共享磁盘空间?文件句柄的耗尽可能是一个问题(不确定如何为有限的帐户管理这些句柄)。
仍然存在偶尔出现的JVM漏洞,因此风险取决于服务器上还有什么,以及问题的实际后果是什么(如果必须清除服务器,情况会有多糟?)
另见:Sandbox against malicious code in a Java application和Execute external Java source code on server - limit security and resources?
发布于 2012-01-27 23:12:38
我会问自己的问题是,‘我有多信任人们,有多少信任他们的代码不会破坏我的系统?’总的来说,我的回答不是太多,也不是我能扔的那么远。但是,从我的头顶上看,下面是一些我想要防范的事情。
here)
< code >F 213)
还有很多值得警惕的地方,所以我会小心行事。尽可能保护每个帐户和/home目录(简单的chmod 700 $HOME经常会这样做),并在公开部署之前尝试使用您认为不可靠的代码。一旦您对服务器的性能感到满意,就允许其他人测试您的服务器,看看它运行得有多好。
https://stackoverflow.com/questions/9041246
复制相似问题