首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

MOSS 2010 Web 組件管理全攻略:安全架構、部署策略與沙箱隔離實戰

     編輯:關於.NET

Web 組件安全三角:開發人員、伺服器管理員、網站管理員

角色責任領域關鍵行動
開發人員輸入驗證過濾/清理/拒絕惡意輸入,防禦 XSS、SQL Injection
伺服器管理員身分驗證與配置管理IIS 驗證方法、.NET Framework 配置、代碼存取安全性原則
網站/伺服器管理員授權權限等級、存取控制、Web 組件頁面權限

部署位置抉擇:Bin 目錄 vs GAC

維度Bin 目錄全域組件快取 (GAC)
信任層級部分信任 (預設 WSS_Minimal)完全信任
跨應用程式共享否 (每 Web App 獨立)是
權限提升方式建立自訂信任原則檔 (建議) 或提升至 WSS_Medium簽署強名稱自動完全信任
偵錯支援容易部署 .pdb困難部署 .pdb
安全性纵深防禦佳無程式碼存取限制,風險較高

Bin 部署安全強化清單

  1. 組件標記 [AllowPartiallyTrustedCallers] (APTCA)
  2. 建立自訂信任原則檔 (如 webtrust.config),web.config 指向 <trust level="Custom" policyFile="webtrust.config" />
  3. 最小權限原則:僅授予必要 CAS 權限 (FileIOPermission、WebPermission 等)
  4. 嚴格測試驗證權限邊界

安全控制項清單

web.config 中 <SafeControls> 區段註冊可在非受信任頁面使用的控制項/組件:

<SafeControl Assembly="MyAssembly" Namespace="MyNamespace" 
    TypeName="*" Safe="True" SafeAgainstScript="False" />

部署管道:手動 vs PowerShell

手動部署 (單一 DLL)

  1. 本機 Administrators 權限
  2. 複製 DLL 至 Web App 根目錄 \bin
  3. 編輯 web.config 加入 SafeControl 註冊

PowerShell 部署 (CAB 套件)

Install-SPWebPartPack -LiteralPath "C:\Packages\MyWebPart.cab" -Name "MyWebPart"

Web 組件庫匯入流程

  1. 瀏覽 https://<Server>/_layouts/newdwp.aspx
  2. 勾選目標 Web 組件 → 「匯入程式庫」
  3. 網站集層級「Web 組件庫」→「編輯」→「匯入」上傳 .webpart XML 描述檔

沙箱方案隔離 Web 組件

SharePoint 2010 引入沙箱環境:網站集管理員可部署部分信任 Web 組件,執行於獨立 SPUCWorkerProcess,具備:

  • 有限伺服器 OS/硬體存取
  • 與 Web 應用程式其他元件隔離
  • 資源配額限制 (CPU、記憶體、資料庫呼叫)
  • 未經完整測試的元件可安全上線驗證
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved