本文說明保護建置在 .NET Framework Microsoft應用程式的重要考慮。
原始產品版本: .NET Framework
原始 KB 編號: 818014
摘要
本文是一系列文章之一,可為建置在 .NET Framework 上的應用程式提供詳細資訊。
本系列的文章包括下列文章:
依區域調整 .NET Framework 安全性
.NET Framework 會將信任層級指派給Managed元件。 這些指派部分是以元件執行所在的區域為基礎。 標準區域為 [我的計算機]、[近端內部網络]、[因特網]、[信任的網站] 和 [不受信任的網站]。 您可能必須增加或減少與其中一個區域相關聯的信任層級。 .NET Framework 包含調整這些設定的工具。
調整 .NET Framework 元件中的信任層級
.NET Framework 包含許多方法來判斷您應該授與元件的信任層級。 不過,您可以對規則進行例外狀況,讓特定元件能夠接收比一般根據提供給 Common Language Runtime 的辨識項來接收更高的信任層級。 .NET Framework 提供特別針對此用途的精靈工具。
已自定義的還原原則層級
身為系統管理員,您可以完全控制您授與在各種信任層級上執行之元件的存取權。 如果您自定義信任層級,當您執行通常以標準信任層級執行的應用程式時,可能會遇到問題。 不過,您可以快速將原則層級還原至其預設設定。
評估授與元件的許可權
當您有企業、計算機和使用者安全性設定原則,以及可自定義的信任等級時,很難評估已授與給受控元件的許可權。 .NET Framework 組態工具包含簡單的方法來評估這些許可權。
稽核的安全性。NET 連線的應用程式
在升級、測試和疑難解答期間,生產系統的設定可能會以無意的方式變更。 例如,系統管理員可能會在判斷錯誤是否與訪問許可權相關時,將系統管理認證授與使用者。 如果系統管理員在完成疑難解答程序之後忘記撤銷這些提升許可權的認證,系統的完整性就會遭到入侵。
因為系統安全性可能會因為這種類型的動作而降級,所以最好定期進行稽核。 若要這樣做,請記錄原始系統的重要層面,以建立基準量值。 將這些設定與一段時間的基準進行比較,以判斷是否有任何可能大幅降低弱點層級的問題。
設定 。已連線 NET 的應用程式和 SQL Server 使用網路通訊的替代埠號碼
許多自動化工具會藉由查詢已知的埠號碼來識別可用的服務和弱點。 這些工具包括合法的安全性評估工具和惡意使用者可能使用的工具。
減少這類工具曝光的其中一種方式,就是變更應用程式所使用的埠號碼。 您可以將此方法套用至 。依賴後端 SQL Server 資料庫的 NET 連線應用程式。 如果伺服器和用戶端都已正確設定,這個方法會正常運作。
鎖定 ASP.NET Web 應用程式或 Web 服務
有許多方式可以增加 ASP.NET Web 應用程式和 Web 服務的安全性。 例如,您可以使用封包篩選、防火牆、限制性檔案許可權、URL 掃描因特網伺服器應用程式開發介面 (ISAPI) 篩選器,以及謹慎控制的 SQL Server 許可權。 最好檢閱這些不同的方法,為 ASP.NET 應用程式提供安全性深入。
設定NTFS檔案許可權以提高 ASP.NET 應用程式的安全性
新技術文件系統 (NTFS) 檔案許可權仍然是 Web 應用程式的重要安全性層。 ASP.NET 應用程式包含比先前的 Web 應用程式環境更多的檔案類型。 匿名用戶帳戶必須具有存取權的檔案並不明顯。
為建置在 .NET Framework 上的應用程式設定 SQL Server 安全性
根據預設,SQL Server 不會授與用戶查詢或更新資料庫的能力。 此規則也適用於 ASP.NET 應用程式和 ASPNET 用戶帳戶。 若要讓 ASP.NET 應用程式存取儲存在 SQL Server 資料庫中的數據,資料庫管理員必須將許可權授與 ASPNET 帳戶。
如需如何設定 SQL Server 以允許來自 ASP.NET 應用程式之查詢和更新的其他資訊,請造訪 設定資料庫物件的許可權。
設定 URLScan 以增加 ASP.NET Web 應用程式的保護
當您在 網際網路資訊服務 5.0 (IIS 5.0) 伺服器上安裝 URLScan 時,其設定為允許 ASP 3.0 應用程式執行。 不過,當您安裝 .NET Framework 時,URLScan 組態不會更新為包含新的 ASP.NET 檔類型。 如果您想要為 ASP.NET 應用程式新增 URLScan ISAPI 篩選器的安全性,請調整 URLScan 組態。
需要 ASP.NET Web 應用程式的驗證
許多 ASP.NET 應用程式不允許匿名存取。 需要驗證的 ASP.NET 應用程式可以使用下列三種方法之一:窗體驗證、.NET Passport 驗證和 Windows 驗證。 每個驗證方法都需要不同的組態技術。
限制特定使用者取得指定 Web 資源的存取權
ASP.NET 包含窗體驗證。 這是在不建立 Windows 帳戶的情況下驗證使用者的唯一方式。 ASP.NET 也包括授與或拒絕這些使用者存取不同 Web 資源的能力。
如需如何根據每位使用者控制 Web 資源存取的詳細資訊,請造訪 如何限制特定使用者取得指定 Web 資源的存取權。
限制伺服器允許的 Web 服務通訊協定
根據預設,ASP.NET 支援三種方式,讓 Web 服務用戶端向 Web 服務發出要求:SOAP、HTTP GET 和 HTTP PUT。 不過,大部分的應用程式只需要這三種方法的其中一個。 最好停用任何未使用的通訊協議來減少受攻擊面。
不允許瀏覽器存取 。NET 連線的 Web 服務
ASP.NET Web 服務提供瀏覽器友好的介面,讓開發人員更容易建立 Web 服務用戶端。 這個易記的介面可讓任何可連線到 Web 服務的人員,檢視可用方法的完整詳細數據,以及任何必要參數。 此存取適用於只包含公開可用方法的公用 Web 服務。 不過,它可能會降低私人 Web 服務的安全性。
如需如何根據每個使用者控制 Web 資源的存取權的其他資訊,請造訪 如何限制特定使用者取得指定 Web 資源的存取權。
使用 ASP.NET 來保護檔類型
ASP.NET 應用程式的結構會導致許多私人檔案與使用者要求的檔案一起儲存。 ASP.NET 會攔截檔案的要求並傳回錯誤,以保護這些檔案。 您可以使用組態設定,將此類型的保護延伸至任何文件類型。 如果您的應用程式包含應該保持私用的不尋常的檔類型,您可以使用 ASP.NET 檔案保護來保護這些檔案。
參考資料
如需如何保護 .NET Framework 上建置之應用程式的詳細資訊,請流覽 Windows 10 部署的新功能。