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