如何安全地运行不受信任的Java应用程序?

时间:2011-06-22 19:59:46

标签: java security

我正在编写一个自动编程Web应用程序,它接受来自用户的程序作为输入。保护我的Web服务器免受恶意程序输入的一些方法是什么?

目前仅支持Java程序输入。我正在考虑以某种方式禁止访问某些包/类,但我不确定如何。

有任何想法/建议吗?

1 个答案:

答案 0 :(得分:7)

防止恶意程序输入的最简单方法是在单独的VM中运行它。如果你在Linux上,使用KVM或其他东西启动虚拟机,在那里运行程序,并将输出记录在某处(例如,通过虚拟串行端口)。为VM提供无网络访问权限并每次擦除其驱动器。

如果做不到这一点,Java确实拥有广泛的安全性和沙盒模型,最初设计用于隔离applet。但是,正确使用它很棘手,我不建议将它用于这样的事情 - 产生VM更容易,更安全。