如何限制java插件仅在Internet Explorer中的某些站点上运行?

我想要更好地保护我们的集中pipe理的计算机,自动部署java运行时非常困难,但如何做到这一点是另一个问题。

我发现Java的灾难性安全性,即使它已经完全修补:看起来如果用户对无辜的问题“你信任这个证书”说“是”,java可以做任何想做的事情。 Java webstart似乎也是恶意软件作者的通用入口点。

一般来说,我并不在乎玩我的用户在玩游戏游戏等。Java小程序似乎已经绝迹了。

但是还有一页依靠Java(Ingramm Micro购物系统)。

有谁知道一个简单的方法来configurationIE或Java通过组策略只允许某些预configuration的网站上的Java插件?

谢谢!

很好的问题。 具有讽刺意味的是,这个function在10年前的微软JVM中就已经暴露出来了。

在Internet Explorer中控制Java
https://blogs.msdn.com/b/ieinternals/archive/2011/05/15/controlling-java-in-internet-explorer.aspx

最近,人们对如何在Internet Explorer中控制Java的使用感兴趣。 Java是一种独特的可扩展forms,因为它可以通过两种方式调用:

  • 使用APPLET元素
  • 使用带JVM的CLSID的OBJECT元素

这两个调用方法受到不同的安全控制,我将在今天的post中描述。

控制Applet标签

当Internet Explorer遇到APPLET标记时,它会检查URLACTION_JAVA_PERMISSIONS值以确定是否应该加载APPLET。 如果值为URL_POLICY_JAVA_PROHIBIT,则禁止APPLET标记加载JVM。 在Internet Explorer的早期版本中,当Microsoft JVM可用时,此URLAction显示在“工具”>“Internet选项”>“安全性”>“自定义…”对话框中,但之后已被删除。

您可以使用组策略编辑器来控制节点\ Administrative Templates \ Windows组件\ Internet Explorer \ Internet控制面板\安全页\ ZoneID下的URLAction:

在这里输入图像描述

或者,您可以调整一个小的registry, 将JVM选项条目添加回Internet控制面板:

在这里输入图像描述

registry脚本利用了Internet控制面板UI可通过registry进行扩展的事实。 它只是创build一个新项目,调整URLACTION_JAVA_PERMISSIONS URLAction的值。

如果将Internet区域设置从“高安全性”调整为禁用(URL_POLICY_JAVA_PROHIBIT),则任何尝试使用APPLET标记的站点都将发现该小程序未加载,并显示通知:

在这里输入图像描述

控制对象标签

不幸的是,当一个站点使用一个OBJECT标签来加载Java时,一个完全不同的代码path被执行。 在OBJECT标记的情况下,JAVA_PERMISSIONS URLAction没有被查阅,因为就Internet Explorer而言,这可能是任何types的OBJECT。 而是参考传统的ActiveX控件function (例如,ActiveX过滤,每站点ActiveX,pipe理附件等)。 您可以使用IE的Tools> Manage Add-onsfunction来检查或调整Java Plug-in对象的状态:

在这里输入图像描述

注意:我被告知不应该禁用Java插件SSV帮助器浏览器助手对象,因为它可以确保网站不会尝试加载可能已经安装的JVM的旧版本(不安全)。 但是,您会注意到,在启动Tab时需要支付一个性能损失来加载这个BHO,这是我不在我的电脑上安装Java的许多原因之一。

如果selectJava插件,则可以单击“ 禁用”button以防止Java被OBJECT标记加载。 或者,如果您单击“ 更多信息”链接,则可以从Java Plug-in可能运行的站点列表中清除*。

在这里输入图像描述

如果您随后访问尝试将Java作为OBJECT标记调用的站点,则会看到一个通知栏,提示您在当前站点上运行Java。

所以,如果您想允许Java只在Intranet和Trusted Sites区域运行:

  1. 调整Internet区域的URLAction为禁用
  2. 从ActiveX控件的每个站点列表中删除*

步骤#1将确保只有Intranet Zone和Trusted Zone站点才能为APPLET标签载入Java。 步骤2将确保Java插件不会作为Internet区域站点上的OBJECT加载; 将会显示通知。 由于Intranet和受信任的站点会忽略每个站点的ActiveX列表,因此在这些站点上不会看到任何其他警告。