Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
那么,哪些安全威脅應由WindowsAzure環境緩解?哪些安全威脅必須由開發人員緩解?
開發 Windows Azure 應用程序的最佳安全做法一文說明了對于在 Windows Azure 中運行的應用程序而言,什么樣的威脅應被視為主要威脅。它還專門說明了 Azure 能夠緩解的威脅以及您需要調用 API的內容和您需要自己處理的內容。(它未涉及合規性問題。)
您應該處理的內容
我將選擇一些威脅和您應該執行的操作,并提供一些參考,以便您可以了解有關如何在代碼中進行實現的更多信息。該列表在Windows Azure 安全概述中提供。但是具體結果將取決于您。
這個列表并不全面。正如您從本系列文章的以前部分中了解的那樣,您根據您自己的應用程序需求來調整您的安全做法。
篡改威脅
篡改/泄漏憑據或其他敏感應用程序數據。針對 SSL連接,使用 WindowsIdentity Foundation和 HTTPS 相互身份驗證。
·???請參見如何管理服務證書,了解有關將證書添加到存儲、將證書與服務關聯以及更新證書的信息。在這些情況下,我們假設 IT 管理人員和服務開發者是兩個不同的人,但是他們也可能是同一個人。
·???請參見Windows Identity Foundation,幫助開發者簡化用戶訪問,方法是通過claim將用戶訪問從應用程序外部化,以及使用預先構建好的安全邏輯和集成 .NET工具減少開發工作量。
否認威脅
審計日志收集、存儲和分析。根據需要使用監控和診斷 API,將日志通過 HTTPS傳輸到私有 Blob 存儲/表存儲。請參見:
·??在 Windows Azure 中控制日志記錄和跟蹤(來源于 MSDN 雜志)。
·??Azure Monitor(可獲得用于實時監控 Azure 托管的應用程序的代碼)。它包含用于將運行時進程信息捕獲到云表存儲的庫,還包含用于實時查看捕獲的信息的桌面應用程序。
·?使用 Windows Azure Diagnostics(大約從該網頁頁面的三分之一開始)。Windows Azure 提供集成的功能,用于在部署的環境中進行監控、記錄和跟蹤,這通常稱為診斷。雖然這些功能也可以用于調試目的,但是它們最適合于監控應用程序性能隨時間的變化。
信息泄漏威脅
泄漏 Blob/表/隊列存儲中的任意機密。在上傳之前預加密機密數據。不要在 Windows Azure 存儲中存儲解密密鑰。
泄漏共享訪問簽名。使用 HTTPS將共享訪問簽名安全地傳輸給期望的接收方并針對容器設置適當的權限。請參見管理 Blob 和容器的訪問權限了解如何使用共享訪問簽名。
拒絕服務威脅
客戶代碼/應用程序級別的超大量請求。如有必要,實施應用程序級別請求限制。請參見自動伸縮和 Windows Azure。
權限提升
服務/應用程序設置配置錯誤。必須將所有 Cookie和 document.domain屬性的范圍設置為服務子域(例如 http://contoso.cloudapp.net),而不是 *.cloudapp.net
針對 Web role的跨站點請求偽造攻擊。使用 ASP.NET防御。請參見利用 ASP.NET 的內置功能抵御 Web 攻擊。
針對 Web role的跨站點腳本攻擊。使用Anti-XSS 庫。
針對 Web role所暴露的接口進行 API模糊攻擊。對暴露給 Web(或任何其他服務)的、對于代碼唯一的所有接口和端點進行模糊測試
使用安全測試工具,包括模糊測試工具。“模糊”給軟件應用程序編程接口 (API) 和網絡接口提供結構化但無效的輸入,從而最大程度地提高檢測可能導致軟件漏洞的錯誤的可能性。
針對應用程序提供的自定義文件解析器進行文件模糊攻擊。對所有專有網絡協議或文件格式解析器進行模糊測試。
在 Web Role/客戶代碼級修補安全漏洞。制定安全響應和更新計劃。
可以從Microsoft 安全開發生命周期 (SDL)網站獲取用于協助進行模糊測試的工具。SDL包括各種免費工具和流程。例如,您可以使用:
·??MiniFuzz 基本文件模糊測試工具是一款用于簡化模糊測試部署的簡單模糊測試工具。
·??正則表達式文件模糊測試工具是一款用于測試潛在拒絕服務漏洞的工具。
SQL Azure
我增加了這一節有關 SQL Azure的內容,因為該平臺提供您應該知道的用于緩解威脅的其他方法。
SQL Azure 安全管理。SQL Azure 數據庫中的安全管理與 SQL Server 的內部部署實例的安全管理類似。管理數據庫級別的安全性基本相同,唯一不同的是可用的參數。由于 SQL Azure數據庫可以擴展到一個或多個物理計算機,因此 SQL Azure數據庫對服務器級別管理使用不同的策略。
SQL Azure 防火墻。您可以鎖定數據庫以僅向獲得授權的用戶或計算機提供訪問權限。為了幫助保護您的數據,在您指定哪些計算機具有權限之前,SQL Azure 防火墻會阻止對您的 SQL Azure服務器的所有訪問。防火墻會基于每個請求的起源 IP地址授予訪問權限。
資源
可信賴計算安全開發生命周期
Windows Azure 安全概述
Microsoft 安全開發生命周期 (SDL)
下一篇文章
Windows Azure 安全最佳實踐 - 第 5 部分:基于Claims的標識,單點登錄。用戶標識是在您的應用程序中訪問數據和業務流程的關鍵。在這一部分中,我將介紹如何將您的用戶標識和用戶角色從您的應用程序中分離出來,如何更輕松地創建單一登錄應用程序。
以下是本系列中的文章的鏈接:
·??Windows Azure 安全最佳實踐 - 第 1 部分:深度解析挑戰防御對策 。
·??Windows Azure 安全最佳實踐 - 第 2 部分:Azure 提供哪些現成可用的安全機制。
·??Windows Azure 安全最佳實踐 - 第 3 部分:確定安全框架。
·?Windows Azure 安全最佳實踐 - 第 5 部分:基于Claims的標識,單點登錄。
·?Windows Azure 安全最佳實踐 - 第 6 部分:Azure 服務如何擴展應用程序安全性。
·??Windows Azure 安全最佳實踐 - 第 7 部分:提示、工具和編碼最佳實踐。
?本文翻譯自:
http://blogs.msdn.com/b/usisvde/archive/2012/03/12/windows-azure-security-best-practices-part-4-what-else-you-need-to-do.aspx
?
轉載于:https://www.cnblogs.com/wuwa/p/6192004.html
總結
以上是生活随笔為你收集整理的Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: as和强制类型转换的区别
- 下一篇: 《算法导论》读书笔记之第1章 算法在计算