如何限制 java 外掛僅在 Internet Explorer 中的某些站點上執行?
我想更好地保護我們集中管理的電腦,自動部署 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 是一種獨特的可擴展性形式,因為它可以通過兩種方式呼叫:
這兩種呼叫方法受制於不同的安全控制,我將在今天的文章中進行描述。
控制小程序標籤
當 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 區域中執行:
- 將 Internet 區域的 URLAction 調整為禁用
- 從 ActiveX 控制項的 Per-Site 列表中刪除 *
第 1 步將確保只有 Intranet Zone 和 Trusted Zone 站點可以為 APPLET 標籤載入 Java。步驟 #2 將確保 Java 外掛不會作為對象載入到 Internet 區域站點上;將顯示通知。因為 Intranet 和受信任的站點會忽略 Per-Site ActiveX 列表,所以您不會在這些站點上看到任何其他警告。