在虚拟机中下载 Java 安全吗?

Is it safe to download Java in a virtual machine?

我使用 VMware Workstation 12 Player 将我的计算机设置为 Linux。我想将一些 java 组件添加到某些仅在 Linux 中可用的软件中,但是当我尝试这样做时,我意识到我没有安装 Java。在安装 JVM(Java 虚拟机)之前,我想知道在 VM 中安装 JVM 是否安全。

Installing a VM in another VM just sounds unsafe to me

在另一个 VM 中安装一个 VM 没有什么不安全的。理论上没有。不在(一般)实践中。

对于 JVM,运行在 VM 上运行 JVM 与 运行在 "bare metal" 机器上运行 JVM 没有额外的风险。事实上,在某些情况下,它 可能 更安全。 (如果您的 VM 与您的基础架构的其余部分隔离,您可以将它(VM)视为沙箱,并在它受到威胁时销毁它......通过 JVM 或其他任何方式。)

存在安全问题1 在网络浏览器中公开 Java 虚拟机,以便浏览器可以 运行 不受信任的代码;例如小程序。但这是一种特殊情况……您可以轻松避免这种情况。事实上,如果您使用最新的 Oracle JVM,您需要非常努力地 enable Java 在网络浏览器中 2.


1 - Java 沙箱中的恶意代码 运行ning 出现了一系列安全问题。

2 - 实际上,Oracle 和 Web 浏览器制造商已经 大部分 删除了浏览器中 运行 Java 的功能。有一两个人反对,但理智占了上风……大部分。

运行 Java 平台 VM(VMWare、VirtualBox...)中的 VM 在计算行业中绝对司空见惯。我的经验是,Java 程序的 performance/throughput 在该模式下 运行 与在裸机上的 JVM 中 运行 通常没有太大区别。无论如何,我倾向于将 JVM 视为一种经过精心设计的 运行 时间库,而不是 "real" VM。当然,这是一个解释问题。

但是否"safe"取决于你指的是哪种安全。 运行 在平台 VM 环境中确实有可能产生可靠性问题,通常与网络有关。将整个虚拟机从一台物理主机移动到另一台物理主机的能力确实会增加数据泄露的风险。但这些问题都不是 Java 特有的。