是否有关于在服务器上运行用户提供的 Java 代码的安全问题的完整列表?我已经
- 使用 10 秒的超时
- 在可用内存有限的单独进程中运行代码
- 使用 SecurityMangager 防止文件和网络 IO
- 在文件系统权限极其有限的帐户下运行代码
如果重要的话,我正在 FreeBSD 服务器上运行它。
看起来是一个非常好的开始 - 安全管理器对于沙箱处理您未明确提及的一大堆其他内容至关重要(当然,例如防止用户禁用安全管理器,以及能够调用任意命令,或使用本机代码,或让操作系统执行文件等)。我假设您从零权限开始,只是授予所需的显式权限。
安全管理器无法通过过度使用资源来处理拒绝服务,但您的其他控件可能可以解决此问题(防止网络连接、控制磁盘使用、超时以防止 CPU 占用 - 如果这就是您所说的超时)。
你说“极其有限的文件系统权限” - 希望这也包括磁盘配额?您是否正在运行多个不受信任的进程,它们是否共享磁盘空间?文件句柄用完可能是一个问题(不确定如何为有限帐户管理这些句柄)。
偶尔还是会出现 JVM 漏洞,因此风险取决于服务器上还有什么,以及问题的实际后果是什么(如果必须擦除服务器,后果有多严重?)。
也可以看看:针对 Java 应用程序中恶意代码的沙盒 and 在服务器上执行外部 Java 源代码 - 限制安全性和资源?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)