輕松了解ADO.NET安全性
ADO.NET還是比較常用的,于是我研究了一下ADO.NET,在這里拿出來和大家分享一下,希望對大家有用。當設計、構建及部署應用程序時,您必須假定您的應用程序將受到攻擊。 通常,這些攻擊來自使用運行此代碼的用戶的權限執行的惡意代碼, 其他攻擊可能源自被攻擊者利用的善意代碼。
#T#在規劃安全性時,始終假設將出現最糟糕的情況。您可以使用的一種措施是:嘗試使用最小特權來運行代碼,在代碼周圍樹立盡可能多的障礙。 最小特權原則指出,應在完成工作所需的最短時間內向所需的最少代碼授予任何給定的特權。創建安全應用程序的最好方法是在開始階段不授予任何權限,然后對執行的特定任務添加最有限的權限。 相反,如果開始具有所有權限而以后拒絕個別權限,就會導致難以測試和維護的不安全應用程序,因為無意中授予過多的權限會造成完全漏洞。
代碼訪問ADO.NET安全性 (CAS)
代碼訪問安全性 (CAS) 是幫助限制代碼對受保護資源和操作的訪問權限的一種機制。 在 .NET Framework 中,CAS 執行下列功能:
◆定義權限和權限集,它們表示訪問各種系統資源的權限。
◆使管理員能夠通過將權限集與代碼組關聯來配置安全策略。
◆使代碼能夠請求運行所必需的權限及其他一些有用的權限,并指定代碼絕對不能擁有哪些權限。
◆根據代碼要求的權限和安全策略允許的操作,向加載的每個程序集授予權限。
◆使代碼能夠要求其調用方擁有特定的權限。
◆使代碼能夠要求其調用方擁有數字簽名,從而只允許特定組織或特定網站的調用方來調用受保護的代碼。
◆通過將調用堆棧上為每個調用方授予的權限與調用方必須擁有的權限相比較,加強在運行時對代碼的限制。
若要將因攻擊成功而導致的損害降到最低,請為您的代碼選擇安全上下文,以便只向資源授予其完成工作所必需的訪問權限。
數據庫ADO.NET安全性
最小特權原則也適用于數據源。 數據庫安全性一般準則包括:
◆使用最低可能的特權創建帳戶。
◆不允許用戶訪問管理帳戶,只允許運行代碼。
◆不要將服務器端錯誤消息返回到客戶端應用程序。
◆驗證客戶端和服務器端的所有輸入。
◆使用參數化命令,避免動態 SQL 語句。
◆為您使用的數據庫啟用安全審核和記錄,以便違反任何安全性時得到警報。
SQL Server ADO.NET安全性
提供 SQL Server 安全性和應用方案的概述,這些應用方案提供用于創建針對 SQL Server 的安全 ADO.NET 應用程序的指南。
安全策略和管理
不正確管理代碼訪問安全性 (CAS) 策略可能會導致安全漏洞。 應用程序一旦部署,就應使用監視安全性的技術,因為將出現評估為新威脅的風險。