Security

如何限制 java 外掛僅在 Internet Explorer 中的某些站點上執行?

  • February 29, 2012

我想更好地保護我們集中管理的電腦,自動部署 java 執行時非常困難,但如何做到這一點是另一個問題。

我發現 Java 的安全性是災難性的,即使它已完全修補:看起來如果使用者對無辜的問題“你是否信任此證書”說“是”,Java 可以為所欲為。Java webstart 似乎也是惡意軟體作者的通用入口點。

一般來說,我不關心我的使用者玩瀏覽器遊戲等。Java 小程序似乎已經滅絕了。

但是還剩下一頁(Ingramm Micro 購物系統),它依賴於 Java。

有誰知道通過組策略配置 IE 或 java 以只允許在某些預配置站點上使用 java 外掛的簡單方法?

謝謝!

很好的問題。具有諷刺意味的是,這個功能在較舊的 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 是一種獨特的可擴展性形式,因為它可以通過兩種方式呼叫:

  • 使用APPLET元素
  • 使用帶有 JVM 的 CLSID 的OBJECT元素

這兩種呼叫方法受制於不同的安全控制,我將在今天的文章中進行描述。

控制小程序標籤

當 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 的 Tools > Manage Add-ons 功能來檢查或調整 Java Plug-in 對象的狀態:

在此處輸入圖像描述

注意:我被告知不應禁用 Java Plug-In SSV Helper Browser Helper 對象,因為它可以確保網站不會嘗試載入您可能已安裝的較舊(不安全)版本的 JVM。但是,您會注意到在選項卡啟動時載入此 BHO 會付出性能損失——這是我不在 PC 上安裝 Java 的眾多原因之一。

如果您選擇 Java 外掛,您可以點擊禁用按鈕以防止 Java 被 OBJECT 標記載入。或者,如果您點擊更多資訊連結,您可以從執行 Java 外掛的站點列表中清除 *:

在此處輸入圖像描述

如果您隨後訪問一個嘗試將 Java 作為 OBJECT 標記呼叫的站點,您將看到一個通知欄,提示您允許在目前站點上執行 Java。

因此,如果您想允許 Java 僅在 Intranet 和 Trusted Sites 區域中執行:

  1. 將 Internet 區域的 URLAction 調整為禁用
  2. 從 ActiveX 控制項的 Per-Site 列表中刪除 *

第 1 步將確保只有 Intranet Zone 和 Trusted Zone 站點可以為 APPLET 標籤載入 Java。步驟 #2 將確保 Java 外掛不會作為對象載入到 Internet 區域站點上;將顯示通知。因為 Intranet 和受信任的站點會忽略 Per-Site ActiveX 列表,所以您不會在這些站點上看到任何其他警告。

引用自:https://serverfault.com/questions/360284