開發更安全的ASP.NET 2.0實用程序

所属分类:編程語言與程序設計  
出版时间:2008-7   出版时间:人民郵電出版社   作者:拜爾   页数:447  

内容概要

  《開發更安全的ASP.NET 2.0實用程序》以作者的實際經驗為主,介紹了關于開發更安全的ASP.NET 2.0應用的各方面的內容。全書共10章,內容包括︰Web應用程序安全、ASP.NET 2.0構架、輸入驗證、存儲機密、身份驗證和授權、安全提供程序和控件、日志和監測、部分信任ASP.NET、部署和配置以及工具和資源。附錄部分提供了創建自定義受保護配置提供程序、會話狀態、分拆ASP.NET應用程序、安全的Web服務和使用Visual Studio Team Edition進行安全測試等內容。  《開發更安全的ASP.NET 2.0實用程序》提供的示例簡練易懂,書中代碼示例都經過認真的編寫,讀者無需記住所有的內容,而可以將《開發更安全的ASP.NET 2.0實用程序》的實例很容易地引入到現實的應用程序中。《開發更安全的ASP.NET 2.0實用程序》適用于使用ASP.NET 2.0技術同時關注安全性的各方面讀者。

作者简介

  Dominick Baier,為世界各地的公司咨詢軟件安全方面的問題,同時還負責DevelopMentor的安全課程和一家針對開發人員的培訓公司。他是一位具有BS 7799/ISO 17799資格的主導審核員,還是Visual Developer-Security方面的MVP。另外,Dominick經常在業界的會議中發言,並為德國MSDN的安全主題內容撰稿,同時還撰寫了一個受歡迎的博客。

书籍目录

第1章 Web應用程序安全1.1 OWASP Top 101.2 總體原則1.2.1 安全是一種特性1.2.2 使用最低權限1.2.3 預防、監測和反應1.2.4 分層防御1.2.5 不存在可信的輸入1.2.6 注意故障模式1.2.7 注意應用程序拒絕服務1.2.8 首選默認安全措施1.2.9 加密不能確保安全1.2.10 防火牆不能確保安全1.3 小結第2章 ASP.NET 2.0架構2.1 理解宿主2.2 理解管線2.2.1 HTTP模塊2.2.2 編寫模塊2.2.3 處理程序2.2.4 檢查管線2.3 編譯ASP.NET頁2.4 小結第3章 輸入驗證3.1 什麼是輸入3.2 輸入驗證的必要性3.3 輸入驗證技術3.3.1 黑名單3.3.2 白名單3.4 緩解技術3.4.1 輸出編碼3.4.2 沙盒3.4.3 完整性檢查3.5 ASP.NET應用程序中的驗證3.5.1 自動驗證服務3.5.2 表單驗證3.5.3 創建自定義驗證控件3.6 小結第4章 存儲機密4.1 識別攻擊和攻擊者4.2 加密術是救星嗎4.3 哈希數據4.3.1 哈希算法4.3.2 .NET的哈希算法4.4 保存密碼4.5 加密數據4.5.1 對稱性加密4.5.2 加密算法4.5.3 密鑰和密鑰大小4.5.4 .NET的對稱性加密4.5.5 完整性保護4.5.6 整合︰設計使用對稱性加密的應用程序4.5.7 非對稱性加密4.5.8 證書4.5.9 在.NET中使用非對稱性加密證書4.5.10 整合︰設計使用非對稱性加密和證書的應用程序4.6 使用Windows數據保護API4.7 保護配置數據4.7.1 配置和安裝4.7.2 保護配置4.8 保護ViewState4.9 小結第5章 驗證和授權5.1 基礎知識5.1.1 術語5.1.2 應用程序設計5.1.3 ASP.NET安全管道5.1.4 .NET安全架構和基于角色的安全5.1.5 服務器驗證5.2 使用Windows賬戶5.2.1 IIS驗證方法5.2.2 授權5.2.3 模擬5.2.4 委托5.2.5 安全上下文和訪問外部資源5.3 使用自定義賬戶5.3.1 表單驗證5.3.2 表單驗證機制5.3.3 配置表單驗證5.3.4 確保表單驗證的安全5.3.5 自定義表單驗證5.3.6 Web場5.3.7 單點登錄5.3.8 使用ASP.NET保護非ASP.NET資源5.4 混合方法5.4.1 手動Windows驗證5.4.2 協議轉換5.4.3 對自定義賬戶實現基本驗證5.4.4 用戶證書5.4.5 混合模式驗證5.5 小結第6章 安全提供程序和控件6.1 理解成員功能6.1.1 方法6.1.2 事件6.1.3 成員配置6.1.4 SQL成員提供程序6.1.5 Active Directory成員提供程序6.1.6 與成員相關的控件6.2 理解角色管理器6.2.1 角色管理器模塊6.2.2 角色管理器配置6.2.3 SQL角色提供程序6.2.4 Windows令牌角色提供程序6.2.5 授權存儲角色提供程序6.2.6 與角色相關的控件6.2.7 成員和角色打包6.3 使用SiteMap導航6.4 創建功能和提供程序6.5 指南6.6 小結第7章 日志和監測7.1 錯誤處理7.1.1 獲取401非授權錯誤7.1.2 錯誤處理7.2 日志和監測7.2.1 事件日志7.2.2 性能監視器7.2.3 電子郵件7.2.4 Windows管理監測7.2.5 ASP.NET跟蹤和System.Diagnostics.Trace7.2.6 日志和部分信任7.3 健康監測框架7.3.1 創建事件7.3.2 配置健康檢測7.3.3 SQL服務器提供程序7.3.4 WMI提供程序7.3.5 電子郵件提供程序7.3.6 編寫自定義提供程序7.3.7 編寫自定義緩沖提供程序7.3.8 狀態監視和部分信任7.3.9 指南7.4 小結第8章 部分信任ASP.NET8.1 為什麼選擇部分信任8.2 配置部分信任8.3 理解策略文件8.3.1 安全類8.3.2 命名權限集8.3.3 代碼組8.3.4 策略加載和解析8.4 自定義策略文件8.5 分割代碼8.5.1 重構代碼8.5.2 堆棧審核8.5.3 為經過分區的程序集修改策略8.5.4 限制調用組件的用戶8.6 創建自定義權限8.6.1 權限類8.6.2 封裝8.6.3 屬性8.7 SecurityException的作用8.8 鎖定配置8.9 小結第9章 部署和配置9.1 總指導原則9.2 操作系統強化9.2.1 自動更新9.2.2 禁用服務和協議9.2.3 包過濾9.2.4 保護Windows文件共享9.2.5 審核9.3 數據庫服務器強化9.4 Web服務器強化9.4.1 應用程序池9.4.2 Web服務擴展9.4.3 Web內容9.4.4 HTTP頭9.4.5 日志9.4.6 URLScan9.4.7 訪問控制列表9.4.8 啟用SSL9.4.9 驗證方法9.5 ASP.NET強化9.5.1 配置鎖死9.5.2 推薦設置9.5.3 預編譯9.6 小結第10章 工具和資源10.1 工具類型10.2 確定合適的工具10.3 瀏覽代理服務器和HTTP協議檢測工具10.3.1 Fiddler10.3.2 Paros10.3.3 WebScarab10.3.4 WSDigger10.4 黑盒掃描器10.4.1 SPI Dynamics WebInspect10.4.2 Watchfire AppScan10.4.3 Berretta10.5 配置分析10.5.1 SSL Digger10.5.2 PermCalc10.5.3 Desaware CAS Tester10.5.4 ANSA10.5.5 IIS Lockdown10.6 源代碼分析器10.6.1 Foundstone CodeScout10.6.2 Microsoft PREfix和PREfast10.6.3 Compuware ASP.NET Security Checker10.6.4 SPI Dynamics DevInspect10.7 多功能工具10.8 二進制分析10.8.1 靜態二進制分析工具10.8.2 動態(“運行時”)二進制分析10.8.3 調試器10.8.4 反編譯器/模糊處理器10.9 數據庫掃描器10.9.1 AppDetective10.9.2 MetaCoretex10.9.3 NGSSquirrel10.10 博客10.11 小結附錄A 創建自定義受保護配置提供程序附錄B 會話狀態B.1 會話狀態如何工作B.1.1 Cookie vs.查詢字符串B.1.2 超時設定B.1.3 會話模式B.2 會話存儲B.2.1 進程內提供程序B.2.2 狀態服務器B.2.3 SQL ServerB.3 小結附錄C 分拆ASP.NET應用程序C.1 創建服務器端C.2 創建客戶端C.3 創建部分信任客戶端C.4 小結附錄D 安全的Web服務D.1 適用情況D.2 安全的通信和服務器驗證D.3 客戶端驗證D.4 小結附錄E 使用Visual Studio Team Edition進行單元測試E.1 測試驅動開發E.2 運行測試E.3 測試現有代碼E.4 測試列表和測試運行配置E.5 建立正確的測試環境E.6 測試私有方法E.7 預期的錯誤E.8 數據驅動測試E.9 數據驅動測試的數據管理E.10 測試Web服務代碼E.11 在ASP.NET內部運行測試E.12 小結

章节摘录

  第1章 Web應用程序安全  20世紀90年代後期是針對網絡和操作系統攻擊快速增長的時期。近來,每個公司都踫到了緩存溢出的問題。Windows NT、Windows 2000和Internet信息服務(Internet Information Services,IIS)幾乎每天都會公布新的漏洞。  從那個時候開始,很多軟件企業從中汲取了教訓,並且認識到必須將安全作為產品的常規重要特性。只有改善開發過程,創建更健壯和安全的代碼,才能取得這種成效。Microsoft就是一個最好的範例。為了減少軟件中安全漏洞的數量,Microsoft實施了安全特性設計和測試集成部件的合作開發過程。同樣重要的一點是,這些軟件部件的設計過程嵌入到每一個周期的開始階段。讀者可以在http︰msdn_m。icrosoft.commsdnmagissues0511SDLdefault.aspx查閱Microsoft安全開發生命周期(Security Development Lifecycle,SDL)或者閱讀由Michael Howard和Steve Lipner最新撰寫的《The Security Development Lifecycle》(Microsoft出版社,2006),以便了解它的工作方式。  這些軟件行業(有益的)的變化意味著攻擊操作系統級別的系統變得越來越困難。攻擊開始尋找更有吸引力的目標。他們向上轉移了幾個層次,從而上升到ISO模型,而多種原因讓Web應用程序注定會成為新的目標。  首先,攻擊Web應用程序非常容易。HTTP是非常簡單的底層協議。它基于文本並且是無狀態的,這也就意味著並不需要專業工具對二進制數據進行編碼,簡單的telnet客戶端就已經完全能夠解析HTTP包。無狀態協議意味著對Web應用程序每一輪訪問都包含所有必要的數據,通常也不需要事先設置會話以防範攻擊,這使得與其交互很容易。另外,還有一個無法改變的事實是,即使只顯示一個登錄頁,基于HTTP的應用程序也允許匿名訪問。只要這個頁面是實際應用程序的一部分,那麼就能夠用其攻擊應用程序代碼。應用程序的其他特殊字符也是  最常見的途徑,換言之,它們是Internet和內部資源(例如數據庫)之問的最後的堡壘。  另一方面,Web應用程序開發環境的進步使創建復雜的數據驅動Web應用程序變得非常容易。將基于桌面Windows Forms的編程範例轉移到Web開發中,吸引了很多企業和開發人員。通常,在基于Intranet的傳統應用程序中,並沒有給予安全問題太多關注,但是向完全不同環境(例如Internet)的遷移徹底改變了這種情況。也就是說,成千上萬的開發人員,無論具有多少開發安全技術的經驗,都可以開始編寫能夠預防所有Intemet犯罪的應用程序。

编辑推荐

  構建更安全Web應用程序的核心指南  《開發更安全的ASP.NET 2.0實用程序》講解有關構建更為安全的ASP.NET 2.0應用程序的專業技術。在《開發更安全的ASP.NET 2.0實用程序》中,頂尖的安全專家將介紹極有價值的經驗、實際建議和大量的使用Microsoft VistJal C#編寫的代碼示例。這些內容將幫助讀者開發更健壯、更可靠和更可防御攻擊的Web應用程序。  核心內容︰  加強Web服務器、操作系統、通信協議和ASP.NET的安全;使用正則表達式、沙盒和其他技術驗證輸入數據;理解各種加密方法的設計方法和安全內涵;集成Microsoft Wirldows安全特性的方法,例如模擬、委托和協議轉換;實現Web場、單點登錄和混合模式驗證︰  使用基于提供程序的功能實現用戶和角色的管理與驗證;  使用錯誤處理、日志和規範跟蹤攻擊行為;  使用部分信任鎖定應用程序。

图书封面




    開發更安全的ASP.NET 2.0實用程序下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,編程語言與程序設計PDF免费下载。 计算机教程网 

计算机教程网 @ 2017