我想更好地保护我们集中管理的计算机,并且自动部署 Java 运行时非常困难,但如何做到这一点又是另一个问题。
我发现 Java 的安全性是灾难性的,即使它已完全修补:看起来如果用户对“您是否信任此证书”这个无知的问题回答“是”,Java 就可以为所欲为。Java webstart 似乎也是恶意软件作者的通用入口点。
一般来说,我不关心我的用户玩浏览器游戏等。Java 小程序似乎已经灭绝了。
但是还剩下一个页面(Ingramm Micro购物系统)依赖于Java。
是否有人知道通过组策略配置 IE 或 java 的简单方法,以便仅允许在某些预配置的网站上使用 java 插件?
谢谢!
答案1
好问题。讽刺的是,这项功能在较旧的 Microsoft JVM(10 年前)中就已公开。
在 Internet Explorer 中控制 Java
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx
最近,人们对如何在 Internet Explorer 中控制 Java 的使用产生了一些兴趣。Java 是一种独特的可扩展性形式,因为它可以通过两种方式调用:
这两种调用方法受到不同的安全控制,我将在今天的帖子中描述。
控制小程序标签
当 Internet Explorer 遇到 APPLET 标记时,它会检查 URLACTION_JAVA_PERMISSIONS 值以确定是否应加载 APPLET。如果值为 URL_POLICY_JAVA_PROHIBIT,则阻止 APPLET 标记加载 JVM。在早期版本的 Internet Explorer 中,当 Microsoft JVM 可用时,此 URLAction 显示在“工具”>“Internet 选项”>“安全”>“自定义…”对话框中,但此后已被删除。
您可以使用组策略编辑器来控制节点\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\ZoneID下的URLAction:
或者,你可以对注册表进行小幅调整,以添加 JVM 选项条目返回 Internet 控制面板:
注册表脚本利用了 Internet 控制面板 UI 可通过注册表扩展的事实;它只是创建一个新项来调整 URLACTION_JAVA_PERMISSIONS URLAction 的值。
如果您将 Internet 区域设置从“高安全性”调整为禁用(URL_POLICY_JAVA_PROHIBIT),任何尝试使用 APPLET 标签的站点都会发现小程序无法加载,并且会显示一条通知:
控制对象标签
不幸的是,当网站使用 OBJECT 标记加载 Java 时,会执行完全不同的代码路径。在 OBJECT 标记的情况下,不会参考 JAVA_PERMISSIONS URLAction,因为就 Internet Explorer 而言,这可能是任何类型的 OBJECT。相反,传统的 ActiveX 控制功能已查阅(例如 ActiveX 过滤、每个站点的 ActiveX、管理加载项等)。您可以使用 IE 的工具 > 管理加载项功能来检查或调整 Java 插件对象的状态:
注意:有人告诉我,Java 插件 SSV 帮助器浏览器帮助器对象不应被禁用,因为它可确保网站不会尝试加载您可能已安装的旧版(不安全)JVM。但是,您会注意到,在选项卡启动时加载此 BHO 会降低性能 — 这是我不在 PC 上安装 Java 的众多原因之一。
如果选择 Java 插件,您可以单击禁用按钮,以防止通过 OBJECT 标记加载 Java。或者,如果您单击更多信息链接,您可以从可运行 Java 插件的站点列表中清除 *:
如果您随后访问尝试以 OBJECT 标签形式调用 Java 的站点,您将看到一个通知栏,提示您在当前站点上运行 Java 的权限。
因此,如果您希望允许 Java 仅在 Intranet 和受信任的站点区域运行:
- 将 Internet 区域的 URLAction 调整为禁用
- 从 ActiveX 控件的“每个站点”列表中删除 *
步骤 1 将确保只有 Intranet 区域和受信任区域站点可以加载 Java 的 APPLET 标签。步骤 2 将确保 Java 插件不会作为 OBJECT 加载到 Internet 区域站点上;而是会显示通知。由于 Intranet 和受信任站点会忽略每个站点的 ActiveX 列表,因此您不会在这些站点上看到任何其他警告。