Dot-Net
網路共享上的 .NET 安全異常
我們通過將 .NET 應用程序放在 LAN 上來部署它們,並允許使用者從那裡執行。我們是一個非常大的組織的一部分,沒有對個人電腦、伺服器或域的管理員權限。我們甚至沒有開發機器的管理員權限。
當使用者從網路共享執行應用程序 Dot-Net 應用程序時,由於安全異常而失敗。過去,我們使用 CASPOL(使用者級別)來信任文件伺服器,但這很令人頭疼。我們開發了自定義程式碼以在執行前將程序集複製到本地驅動器,從而有效地繞過信任問題。這兩種解決方案都不是一個好的答案。我知道 Dot Net 3.5 將解決這個問題。
當我們在 IT 部分提出這個主題時,當我們詢問在機器或伺服器基礎上設置信任時,他們給了我們空白的目光。
微軟網站說
如果您是程式碼的開發者或發布者,您還可以對其進行數字簽名,然後修改安全策略以授予帶有該簽名的程式碼更多的權限。
我們的一位 IT 人員問我關於加密密鑰我們需要什麼。在回復之前,我想確保我的假設是正確的。
- 假設一:SN.EXE 工俱生成的密鑰可以在域或企業級別以某種方式被信任。
- 假設二:一旦這樣的密鑰被信任,並且我們用它簽署我們的程式碼,程序集將被信任執行在網路共享之外。
- 假設三:“信任”是域管理員/企業管理員的部分行為,對於域/企業來說是全域的。我的猜測是他們會通過一些活動目錄魔法將它添加到企業/域密鑰儲存中。
我的假設是正確的,還是我離譜?最後一個問題,這個相同的密鑰可以用來簽署 vba 宏嗎?
我過去也遇到過這個問題,但是我們不是通過簽署程序集來解決它,而是通過授予 caspol 預設集“LocalIntranet”完全信任(使用 caspol或.net 2.0 sdk完成)並將我們的文件伺服器添加到Windows 中的本地 Intranet 站點。
這樣,您不必對要從中執行程式碼的每個文件夾進行 caspol,也不必簽署所有程序集並處理將密鑰發送給 IT