《微軟認證課程系列教材--面向.NET的Web應用程序設計第21章 保護文件系統(tǒng)數據的安全》由會員分享,可在線閱讀,更多相關《微軟認證課程系列教材--面向.NET的Web應用程序設計第21章 保護文件系統(tǒng)數據的安全(32頁珍藏版)》請在裝配圖網上搜索。
1、Slide Title,,Body Text,,Second level,,Third level,,Fourth level,,Fifth level,,,面向,.NET,的,Web,應用程序設計,第1章 Microsoft .NET Framework 概述,,第2章 使用 Microsoft Visual Studio .NET,,第3章 使用基于 Microsoft .NET 的開發(fā)語言,,第4章 創(chuàng)立 Microsoft ASP.NET Web 窗體,,第5章 在 Microsoft ASP.NET Web 窗體中添加代碼,,第6章 Microsoft ASP
2、.NET Web 應用程序的跟蹤機制,,第7章 驗證用戶輸入,,第8章 創(chuàng)立用戶控件,,第9章 使用 Microsoft Visual Studio .NET 訪問關系型數據,,第10章 使用 Microsoft ADO.NET 訪問數據,,第11章 通過 Microsoft ADO.NET 調用存儲過程,,第12章 讀寫 XML 數據,,第13章 使用和創(chuàng)立 XML Web Service,,第14章 狀態(tài)管理,第15章 配置、優(yōu)化和部署 Microsoft ASP.NET Web 應用程序,,第16章 Web 平安性介紹,,第17章 Web 應用
3、程序平安性規(guī)劃,,第18章 驗證用戶輸入,,第19章 Internet 信息效勞身份驗證,,第20章 保護 Web 頁面平安,第21章 保護文件系統(tǒng)數據的平安,,第22章 保護Microsoft?SQL Server的平安,,第23章 保證通信中的機密信息和數據完整性,,第24章 加密、散列和數據簽名,,第25章 測試 Web 站點的平安性,面向,.NET,的,Web,應用程序設計,第21章 保護文件系統(tǒng)數據的平安,保護文件平安的概述,,Windows 訪問控制,,以編程方式創(chuàng)立 ACL,,保護 ASP.NET Web 應用程序文件,保護文件平安的概述,Web
4、 應用程序執(zhí)行文件〔Implementation File〕遭到攻擊的原因,,保護 Web 應用程序執(zhí)行文件,21.1 保護文件平安的概述,Web 應用程序執(zhí)行文件〔Implementation File〕遭到攻擊的原因,Web 應用程序執(zhí)行文件被攻擊的理由,,效勞器端腳本包含應用程序執(zhí)行的源代碼,,源代碼包含數據庫結構、數據庫連接字符串、受信任的用戶名和密碼等機密信息,,可能導致被攻擊的漏洞,,IIS 效勞器沒有安裝最新的補丁,,執(zhí)行文件可能以被變通的方式被訪問,,未對配置文件采取保護措施,21.1.1 Web 應用程序執(zhí)行文件〔Implementation File〕遭到攻擊的原因,保護,
5、,Web,應用程序執(zhí)行文件,,文件和目錄的 ACL〔Access Control List,訪問控制列表〕,,采用 Windows 文件平安性設置 Web 應用程序頁面文件或目錄的 ACL,,IIS 平安性,,IIS 包含所有 Web 應用程序的通用訪問權限,,ASP.NET 中的 Web.config 文件,,可以在 ASP.NET 應用程序的 Web.config 文件中設置身份驗證和授權信息,21.1.2,保護,,Web,應用程序執(zhí)行文件,,第21章 保護文件系統(tǒng)數據的平安,保護文件平安的概述,,Windows 訪問控制,,以編程方式創(chuàng)立 ACL,,保護 ASP.NET Web 應用
6、程序文件,Windows,訪問控制,平安描述符概述,,設置文件的 ACL,,最正確實踐,,課堂練習 查看和設置文件的 ACL,,危險的 DACL 設置,21.2,Windows 訪問控制,可保護對象是具有平安描述符的 Windows 對象,,文件和目錄,,進程和線程,,注冊表項,,Windows 效勞,,本地或遠程打印機,,網絡共享對象,,目錄效勞對象,,命名管道,,進程間同步對象,平安描述符概述,21.2.1 平安描述符概述,平安描述符概述,,可保護的,,對象,,安全描述符,,所有者,SID,域控制器,組,SID,域控制器,DACL,SACL,,ACE – ACCESS_DENIED_A
7、CE,,ACE – ACCESS_ALLOWED_ACE,ACE – SYSTEM_AUDIT_ACE,21.2.1 平安描述符概述,平安標示符 〔SID〕,,表示受信者的惟一標識,,Windows 域控制器或本地計算機為每個用戶賬戶確定一個 SID,,訪問控制項〔ACE〕,,控制或監(jiān)視對可保護對象的訪問,,訪問控制列表〔ACL〕,,可保護對象的一組訪問控制項列表,,平安描述符,,包含可保護對象的所有平安信息,平安描述符概述,21.2.1 平安描述符概述,,多媒體演示 平安描述符概述,Windows,域,域控制器,SID,訪問,,令牌,登錄,文件或目錄的屬性對話框,,“平安〞選項卡,,通
8、常用于描述對象的平安描述符,,上局部顯示對象的 DACL,允許添加或刪除 ACE,,下局部顯示當前選定 的 ACE 對象訪問權限的簡略列表,,21.2.2,設置文件的,ACL,DACL,選定,ACE,的對象簡略訪問權限,“高級〞對話框顯示詳細的平安描述符信息,,“權限〞選項卡,,顯示對象的所有 DACL,添加、編輯或刪除 ACE,,顯示對象所有的訪問權限,,“審核〞選項卡,,顯示對象的 SACL,添加、編輯或刪除 ACE,,“所有者〞選項卡,,顯示對象所有者的 SID 和改變對象的所有者,設置文件的,ACL,21.2.2,設置文件的,ACL,最正確實踐,文件類型,ACL,設置,腳本文件,(.a
9、sp, .aspx),Everyone,(讀取及執(zhí)行),,Administrators,(完全控制),,System,(完全控制),被包含文件,,(.inc, .shtm, .shtml),Everyone,(讀取及執(zhí)行),,Administrators,(完全控制),,System,(完全控制),靜態(tài)的內容文件,,(.htm, .txt, .gif, .jpg),Everyone,(讀?。?,Administrators,(完全控制),,System,(完全控制),對于 ASP Web 應用程序,設置目錄的 ACL 來保護 Web 頁面,,對于 ASP.NET Web 應用程序,使用配置文件
10、中的“Location〞節(jié)和“Authorization〞節(jié)來保護 Web 頁面,21.2.3 最正確實踐,,課堂練習 查看和設置文件的,ACL,教師,,查看 ManualAcl.htm 文件的 ACL,,創(chuàng)立一個新的計算機用戶賬戶,,修改 ManualAcl.htm 文件的ACL設置,,學生,,使用 Internet Explorer 訪問ManualAcl.htm,,時間:10 分鐘,21.2.4,課堂練習 查看和設置文件的,ACL,危險的,DACL,設置,NULL DACL,沒有為對象提供任何免受攻擊的保護,,一些危險的,ACE,類型,,Everyone (WRITE_DAC),,
11、Everyone (WRITE_OWNER),,Everyone (FILE_ADD_FILE),,Everyone (DELETE),,Everyone (FILE_DELETE_CHILD),,Everyone (GENERIC_ALL),21.2.5,危險的,DACL,設置,第21章 保護文件系統(tǒng)數據的平安,保護文件平安的概述,,Windows 訪問控制,,以編程方式創(chuàng)立 ACL,,保護 ASP.NET Web 應用程序文件,以編程方式創(chuàng)立 ACL,使用,Cacls.exe,設置,ACL,,WMI,概述,,使用,WMI,設置,ACL,,演示 使用,WMI,設置,ACL,21.3
12、以編程方式創(chuàng)立 ACL,使用,Cacls.exe,設置,ACL,查看或修改 DACL 的控制臺程序,,語法,,,,,例如,Cacls,filename,[/T] [/E] [/C] [/G user:perm] [/R user] [/P user:perm] [/D],21.3.1,使用,Cacls.exe,設置,ACL,#,撤銷,Everyone,對,ACL2.htm,的訪問權限,,Cacls ACL2.htm /E /R Everyone,,,#,添加,Everyone,對,ACL2.htm,的完全訪問控制權限,,Cacls ACL2.htm /G Everyone:F,,使用,Cacl
13、s.exe,設置,ACL,局限性,,只能編輯文件和目錄的 ACL,,只能拒絕或賦予用戶以下權限:讀取、寫入、修改和完全控制,,不支持批處理腳本的 /Y 開關,,不支持 SACL〔System Access Control List,系統(tǒng)訪問控制列表〕設置,21.3.1,使用,Cacls.exe,設置,ACL,WMI,概述,WMI〔 Windows Management Instrumentation ,Windows 管理標準〕,,一組用于管理計算機、設備和子系統(tǒng)的通用接口,,可用于配置 IIS、文件設置、平安性設置和Active Directory,,程序訪問,,WMI COM 接口,,.N
14、ET 的 System.Management 命名空間,,基于查詢的信息檢索,21.3.2 WMI,概述,使用,WMI,設置,ACL,WMI COM 對象是根接口,,使用 moniker 創(chuàng)立一個實例,,執(zhí)行查詢,,創(chuàng)立新的實例,,WMI 使用一種類似于 SQL 的查詢語法,通過使用WMI COM 根對象可以執(zhí)行這種語法,,WMI COM moniker 也可以用于訪問文件屬性,代碼例如,21.3.3,使用 WMI 設置 ACL,21.3.4 演示 使用,WMI,設置,ACL,演示 使用,WMI,設置,ACL,查看 SetAcl.vbs 腳本文件的平安描述符,,查看 ScriptAc
15、l.htm文件的平安描述符,,運行 SetAcl.vbs 腳本并查看 SetAcl.vbs 的平安描述符,第21章 保護文件系統(tǒng)數據的平安,保護文件平安的概述,,Windows 訪問控制,,以編程方式創(chuàng)立 ACL,,保護 ASP.NET Web 應用程序文件,保護,ASP.NET Web,應用程序文件,.config,文件概述,,ASP.NET,請求處理,,HttpForbiddenHandler,類,,演示 使用,HttpForbiddenHandler,類,21.4,保護 ASP.NET Web 應用程序文件,.config,文件概述,ASP.NET Web,應用程序的配置采用,XM
16、L,文件,,探測文件的改變和應用新的設置,,,,元素,,,Machine.config,配置應用整個計算機設置,,%WinDir%\Microsoft.NET\Framework\,version,\Config,,Web.config,配置應用程序,,覆蓋或重寫,Machine.config,文件設置,,使用,System.Configuration,類來讀取配置,21.4.1,.config 文件概述,aspnet_wp.exe,,HttpModule,HttpModule,HttpHandler,,(*.aspx),HttpHandler,,(*.asmx),ASP.NET,請求處理,H
17、ttpModules 響應事件,,HttpHandlers 響應文件類型的請求,,HttpModules 和 HttpHandlers 都在 .config 文件中設置,, 和 ,Inetinfo.exe,aspnet_isapi.dll,超文本傳輸協(xié)議,(HTTP),請求,21.4.2,ASP.NET 請求,處理,HttpForbiddenHandler,類,否認文件訪問的 HttpHandler,,Machine.config 文件默認拒絕訪問包含以下文件類型,,.asax、.ascx、.config、.cs、.csproj、.vb、.vbproj、 .webinfo、.asp、.lic
18、x、.resx、.resources,,Web.config 可以擴展這些默認拒絕訪問的文件類型,,查看或設置應用程序映射,,翻開 Internet 信息效勞管理器,,右擊虛擬目錄,點擊〞屬性〞,,點擊“配置〞,翻開“應用程序配置〞對話框,1,2,3,21.4.3,HttpForbiddenHandler 類,,演示 使用,HttpForbiddenHandler,類,測試對,.txt,類型文件的訪問,,使用,HttpForbiddenHandler,,限制對,.txt,類型文件的訪問,,再次測試對,.txt,類型文件的訪問,21.4.4 演示 使用,HttpForbiddenHandler,類,回憶,學習完本章后,將能夠:,,解釋保護 Web 應用程序執(zhí)行文件的理由,,使用 Windows 訪問控制列表〔ACL〕保護文件系統(tǒng)數據,,使用腳本設置文件和目錄的 ACL,,設置 ASP.NET 的 Web.config 文件來限制對 ASP.NET Web 應用程序文件的訪問,,實驗 使用 ACL 來保護文件的平安,練習 1 創(chuàng)立新的測試用戶,,練習 2 確保 ASP.NET Web 應用程序的平安,