維護(hù)ASP應(yīng)用程序的安全_第1頁
維護(hù)ASP應(yīng)用程序的安全_第2頁
維護(hù)ASP應(yīng)用程序的安全_第3頁
維護(hù)ASP應(yīng)用程序的安全_第4頁
維護(hù)ASP應(yīng)用程序的安全_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、維護(hù)ASP應(yīng)用程序的安全Web服務(wù)器提供了各種方法來保護(hù)您的ASP應(yīng)用程序免受未授權(quán)的訪問和篡改。在您讀完本主題下的安全信息之后,請花一定的時間仔細(xì)檢查一下您的WindowsNT和Web服務(wù)器安全性文檔。詳細(xì)信息,請參閱安全性。NTFS權(quán)限您可以通過為單獨(dú)的文件和目錄應(yīng)用NTFS訪問權(quán)限來保護(hù)ASP應(yīng)用程序文件。NTFS權(quán)限是Web服務(wù)器安全性的基礎(chǔ),它定義了一個或一組用戶訪問文件和目錄的不同級別。當(dāng)擁有WindowsNT有效帳號的用戶試圖訪問一個有權(quán)限限制的文件時,計算機(jī)將檢查文件的訪問控制表(ACL)。該表定義了不同用戶和用戶組所被賦予的權(quán)限。如果用戶的帳號具有打開文件的權(quán)限,計算機(jī)則允許

2、該用戶訪問文件。例如,Web服務(wù)器上的Web應(yīng)用程序的所有者需要有摳臄權(quán)限來查看、更改和刪除應(yīng)用程序的.asp文件。但是,訪問該應(yīng)用程序的公共用戶應(yīng)僅被授予撝歡翑權(quán)限,以便將其限制為只能查看而不能更改應(yīng)用程序的Web頁。維護(hù)Global.asa的安全為了充分保護(hù)ASP應(yīng)用程序,一定要在應(yīng)用程序的Global.asa文件上為適當(dāng)?shù)挠脩艋蛴脩艚M設(shè)置NTFS文件權(quán)限。如果Global.asa包含向?yàn)g覽器返回信息的命令而您沒有保護(hù)Global.asa文件,則信息將被返回給瀏覽器,即便應(yīng)用程序的其他文件被保護(hù)。有關(guān)配置NTFS權(quán)限的詳細(xì)信息,請參閱訪問控制。注意一定要對應(yīng)用程序的文件應(yīng)用統(tǒng)一的NTFS權(quán)

3、限。例如,如果您不小心過度限制了一應(yīng)用程序需要包含的文件的NTFS權(quán)限,則用戶可能無法查看或運(yùn)行該應(yīng)用程序。為了防止此類問題,在為您的應(yīng)用程序分配NTFS權(quán)限之前應(yīng)仔細(xì)計劃。Web服務(wù)器權(quán)限您可以通過配置您的Web服務(wù)器的權(quán)限來限制所有用戶查看、運(yùn)行和操作您的ASP頁的方式。不同于NTFS權(quán)限提供的控制特定用戶對應(yīng)用程序文件和目錄的訪問方式,Web服務(wù)器權(quán)限應(yīng)用于所有用戶,并且不區(qū)分用戶帳號的類型。對于要運(yùn)行您的ASP應(yīng)用程序的用戶,在設(shè)置Web服務(wù)器權(quán)限時,必須遵循下列原則:對包含.asp文件的虛擬目錄允許摱翑或摻瘧緮權(quán)限。對.asp文件和其他包含腳本的文件(如.htm文件等)所在的虛目錄允

4、許摱翑和摻瘧緮權(quán)限。對包含.asp文件和其他需要撝蔥袛權(quán)限才能運(yùn)行的文件(如.exe和.dll文件等)的虛目錄允許摱翑和撝蔥袛權(quán)限。有關(guān)配置Web服務(wù)器權(quán)限的詳細(xì)信息,請參閱訪問控制。腳本映射文件應(yīng)用程序的腳本映射保證了Web服務(wù)器不會意外地下載.asp文件的源代碼。例如,即使您為包含了某個.asp文件的目錄設(shè)置了摱翑權(quán)限,只要該.asp文件隸屬于某個腳本映射應(yīng)用程序,那么您的Web服務(wù)器就不會將該文件的源代碼返回給用戶。Cookie安全性ASP使用SessionIDcookie跟蹤應(yīng)用程序訪問或會話期間特定的Web瀏覽器的信息。這就是說,帶有相應(yīng)的cookie的HTTP請求被認(rèn)為是來自同一W

5、eb瀏覽器。Web服務(wù)器可以使用SessionIDcookies配置帶有用戶特定會話信息的ASP應(yīng)用程序。例如,如果您的應(yīng)用程序是一個允許用戶選擇和購買CD唱盤的聯(lián)機(jī)音樂商店,就可以用SessionID跟蹤用戶漫游整個應(yīng)用程序時的選擇。SessionID能否被黑客猜中?為了防止計算機(jī)黑客猜中SessionIDcookie并獲得對合法用戶的會話變量的訪問,Web服務(wù)器為每個SessionID指派一個隨機(jī)生成號碼。每當(dāng)用戶的Web瀏覽器返回一個SessionIDcookie時,服務(wù)器取出SessionID和被賦予的數(shù)字,接著檢查是否與存儲在服務(wù)器上的生成號碼一致。若兩個號碼一致,將允許用戶訪問會話

6、變量。這一技術(shù)的有效性在于被賦予的數(shù)字的長度(64位),此長度使計算機(jī)黑客猜中SessionID從而竊取用戶的活動會話的可能性幾乎為0。加密重要的SessionIDCookie截獲了用戶sessionIDcookie的計算機(jī)黑客可以使用此cookie假冒該用戶。如果ASP應(yīng)用程序包含私人信息,信用卡或銀行帳戶號碼,擁有竊取的cookie的計算機(jī)黑客就可以在應(yīng)用程序中開始一個活動會話并獲取這些信息。您可以通過對您的Web服務(wù)器和用戶的瀏覽器間的通訊鏈路加密來防止SessionIDcookie被截獲。有關(guān)加密的詳細(xì)信息,請參閱安全性。使用身份驗(yàn)證機(jī)制保護(hù)被限制的ASP內(nèi)容您可以要求每個試圖訪問被限

7、制的ASP內(nèi)容的用戶必須要有有效的WindowsNT帳號的用戶名和密碼。每當(dāng)用戶試圖訪問被限制的內(nèi)容時,Web服務(wù)器將進(jìn)行身份驗(yàn)證,即確認(rèn)用戶身份,以檢查用戶是否擁有有效的WindowsNT帳號。Web服務(wù)器支持以下幾種身份驗(yàn)證方式:基本身份驗(yàn)證提示用戶輸入用戶名和密碼。WindowsNT請求/響應(yīng)式身份驗(yàn)證從用戶的Web瀏覽器通過加密方式獲取用戶身份信息。然而,Web服務(wù)器僅當(dāng)禁止匿名訪問或WindowsNT文件系統(tǒng)的權(quán)限限制匿名訪問時才驗(yàn)證用戶身份。詳細(xì)信息,請參閱關(guān)于身份驗(yàn)證。保護(hù)元數(shù)據(jù)庫訪問元數(shù)據(jù)庫的ASP腳本需要Web服務(wù)器所運(yùn)行的計算機(jī)的管理員權(quán)限。在從遠(yuǎn)程計算機(jī)上運(yùn)行這些腳本時,

8、須經(jīng)已通過身份驗(yàn)證的連接,如使用WindowsNT請求/響應(yīng)驗(yàn)證方式進(jìn)行連接。應(yīng)該為管理級.asp文件創(chuàng)建一個服務(wù)器或目錄并將其目錄安全驗(yàn)證方式設(shè)置為WindowsNT請求/響應(yīng)式身份驗(yàn)證。目前,僅MicrosoftInternetExplorerversion2.0或更高版本支持WindowsNT請求/響應(yīng)式身份驗(yàn)證。使用SSL維護(hù)應(yīng)用程序的安全SecureSocketsLayer(SSL)3.0協(xié)議作為Web服務(wù)器安全特性,提供了一種安全的虛擬透明方式來建立與用戶的加密通訊連接。SSL保證了Web內(nèi)容的驗(yàn)證,并能可靠地確認(rèn)訪問被限制的Web站點(diǎn)的用戶的身份。通過SSL,您可以要求試圖訪問被

9、限制的ASP應(yīng)用程序的用戶與您的服務(wù)器建立一個加密連接;以防用戶與應(yīng)用程序間交換的重要信息被截取。詳細(xì)信息,請參閱加密。維護(hù)包含文件的安全如果您從位于沒有保護(hù)的虛擬根目錄中的.asp文件中包含了位于啟用了SSL的目錄中的文件,則SSL將不被應(yīng)用于被包含文件。因此,為了保證應(yīng)用SSL,應(yīng)確保包含及被包含的文件都位于啟用了SSL的目錄中??蛻糍Y格認(rèn)證控制對您的ASP應(yīng)用程序訪問的一種十分安全的方法是要求用戶使用客戶資格登錄。客戶資格是包含用戶身份信息的數(shù)字身份證,它的作用與傳統(tǒng)的諸如護(hù)照或駕駛執(zhí)照等身份證明相同。用戶通常從委托的第三方組織獲得客戶資格,第三方組織在發(fā)放資格證之前確認(rèn)用戶的身份信息。

10、(通常,這類組織要求姓名、地址、電話號碼及所在組織名稱;此類信息的詳細(xì)程度隨給予的身份等級而異。)每當(dāng)用戶試圖登錄到需要資格驗(yàn)證的應(yīng)用程序時,用戶的Web瀏覽器會自動向服務(wù)器發(fā)送用戶資格。如果Web服務(wù)器的SecureSocketsLayer(SSL)資格映射特性配置正確,那么服務(wù)器就可以在許可用戶對ASP應(yīng)用程序訪問之前對其身份進(jìn)行確認(rèn)。用于處理資格證明的ASP腳本作為ASP應(yīng)用程序開發(fā)人員,您可以編寫腳本來檢查資格是否存在并讀取資格字段。例如,您可以從資格證明中訪問用戶名字段和公司名字段。ActiveServerPages在Request對象的ClientCertificate集合中保存資

11、格信息。詳細(xì)信息,請參閱ASP內(nèi)建對象。必須將Web服務(wù)器配置為接受或需要客戶資格,然后才能通過ASP處理客戶資格;否則,ClientCertificate集合將為空。-創(chuàng)建事務(wù)性腳本商業(yè)應(yīng)用程序常常需要具有在事務(wù)內(nèi)部運(yùn)行腳本和組件的能力。事務(wù)是一種服務(wù)器操作,即使該操作包括很多步驟(例如,定貨、查看存貨、付帳等),也只能整體返回操作是成功還是失敗。用戶可以創(chuàng)建在事務(wù)內(nèi)部運(yùn)行的ASP腳本,如果腳本的任何一部分失敗,整個事務(wù)都將會終止。ASP事務(wù)處理是以Microsoft?TransactionServer(MTS)為基礎(chǔ)的。Microsoft?TransactionServer(MTS)是一個

12、事務(wù)處理系統(tǒng),用于開發(fā)、配置和管理高性能、可分級的、有魯棒性的企業(yè)Internet和Intranet服務(wù)器應(yīng)用程序。TransactionServer為開發(fā)分布式的,基于組件的應(yīng)用程序提供了一個應(yīng)用程序設(shè)計模型。它也為配置和管理這些應(yīng)用程序提供了一個運(yùn)行環(huán)境。創(chuàng)建事務(wù)性腳本的功能內(nèi)置在InternetInformationServer和PersonalWebServer中。如果您安裝了MicrosoftTransactionServer,就可以將組件打包,以使組件在事務(wù)內(nèi)部運(yùn)行。有關(guān)組件打包的詳細(xì)信息,請參閱創(chuàng)建MTS包。關(guān)于事務(wù)事務(wù)是整體成功或失敗的操作。事務(wù)處理用于對數(shù)據(jù)庫進(jìn)行可靠地更新。

13、在對數(shù)據(jù)庫進(jìn)行許多相關(guān)更改或同時更新多個數(shù)據(jù)庫時,要保證所有更改都被正確執(zhí)行。如果這些更改中的任何一個失敗,都需要恢復(fù)數(shù)據(jù)庫表的原始狀態(tài)。如果沒有MTS,您就需要編寫腳本和組件,手工跟蹤請求的更改情況,以便在某些更改失敗時恢復(fù)數(shù)據(jù)。使用MTS,您只需簡單的將您的腳本和組件聲明為撔枰攣駭并讓MTS處理事務(wù)的一致性。事務(wù)處理只適用于數(shù)據(jù)庫訪問;MTS不能對文件系統(tǒng)或其他的非事務(wù)性資源的更改進(jìn)行恢復(fù)操作。應(yīng)用程序所訪問的數(shù)據(jù)庫必須為MTS所支持。目前,MTS支持SQLServer及任何支持XA協(xié)議(由X/Open協(xié)會制定)的服務(wù)器。MTS將繼續(xù)擴(kuò)展對其他數(shù)據(jù)庫的支持。事務(wù)不能跨越多個ASP頁。如果一

14、個事務(wù)需要來自多個組件的對象,則須將使用這些對象的操作組合在一個ASP頁中。例如,假定有一個組件用于更新工資單數(shù)據(jù)庫,還有一個組件用于更新人力資源數(shù)據(jù)庫中的員工記錄。為了記錄一個員工的新的工資信息,您需要編寫這樣一個腳本,該腳本在一個事務(wù)環(huán)境中調(diào)用這兩個組件,一個用于更新工資單數(shù)據(jù)庫,另一個用于更新人力資源數(shù)據(jù)庫中的員工等級。聲明事務(wù)性腳本在將一個頁聲明為事務(wù)性時,此頁中的任何腳本命令和對象都運(yùn)行在同一個事務(wù)環(huán)境中。TransactionServer處理生成事務(wù)的細(xì)節(jié)并決定事務(wù)成功(提交)或失?。ńK止)。要將某個頁聲明為事務(wù)性,可在頁首添加TRANSACTION指令:value參數(shù)可以是下列之

15、一:值意義Requires_New啟動一個新的事務(wù)。Required啟動一個新的事務(wù)。Supported不啟動事務(wù)。Not_Supported不啟動事務(wù)。TRANSACTION指令必須在一頁中的第一行,否則將產(chǎn)生錯誤。必須將該指令添加到需要在事務(wù)下運(yùn)行的每一頁中。當(dāng)腳本處理結(jié)束時,當(dāng)前事務(wù)即告結(jié)束。大多數(shù)應(yīng)用程序只有一些特定的操作需要事務(wù)環(huán)境。例如,一個航空公司的站點(diǎn)可能只需要事務(wù)性腳本處理購票和安排座位,而其他所有腳本則無須事務(wù)環(huán)境即可安全運(yùn)行。因?yàn)槭聞?wù)只須用于需要事務(wù)處理的頁即可,不要將應(yīng)用程序的Global.asa文件聲明為事務(wù)性。如果事務(wù)被終止,TransactionServer將恢復(fù)

16、對支持事務(wù)的資源的任何更改。目前,僅數(shù)據(jù)庫服務(wù)器完全支持事務(wù),因?yàn)閿?shù)據(jù)庫中的數(shù)據(jù)對于企業(yè)應(yīng)用是最為關(guān)鍵的。TransactionServer不對硬盤上的文件、會話和應(yīng)用程序的變量、集合等的改變進(jìn)行恢復(fù)。然而您可以如下文主題所述,通過編寫事務(wù)事件來編寫恢復(fù)變量和集合的腳本。在某些時候,您的腳本也可以顯式的提交或終止一個事務(wù),如向文件寫數(shù)據(jù)失敗時。提交或終止腳本因?yàn)門ransactionServer跟蹤事務(wù)處理,所以它決定事務(wù)是完全成功還是失敗。腳本可以通過調(diào)用ObjectContext.SetAbort顯式地聲明終止一個事務(wù)。例如,當(dāng)一個事務(wù)在從一個組件收到錯誤消息、違反商業(yè)規(guī)范時(例如,帳戶余

17、額小于0)或讀寫文件等非事務(wù)性操作失敗時,腳本就需要終止該事務(wù)。如果頁在事務(wù)完成之前超時,也必須終止事務(wù)。編寫事務(wù)事件腳本本身不能決定事務(wù)是成功還是失敗。但是,可以編寫提交或終止事務(wù)時被調(diào)用的事件。例如,假設(shè)有一個確認(rèn)銀行帳戶的腳本,并且您需要針對事務(wù)的不同狀態(tài)將不同的頁返回給用戶,那么就可以使用OnTransactionCommit和OnTransactionAbort事件來編寫對用戶的不同響應(yīng)。WelcometotheonlinebankingserviceThankyou.Yourtransactionisbeingprocessed.%Displaythispageifthetrans

18、actionsucceeds.SubOnTransactionCommit()Response.WriteResponse.WriteResponse.WriteThankyou.Youraccounthasbeencredited.Response.WriteResponse.WriteResponse.Flush()endsub%Displaythispageifthetransactionfails.SubOnTransactionAbort()Response.Clear()Response.WriteResponse.WriteResponse.WriteWeareunabletoc

19、ompleteyourtransaction.Response.WriteResponse.WriteResponse.Flush()Endsub%在MTS資源管理器中登記一個組件為了參與一個事務(wù),組件必須在MTS包中登記,而且必須被配置為需要事務(wù)。例如,如果您的腳本是通過調(diào)用兩個組件來處理訂單的,一個更新庫存數(shù)據(jù)庫,另一個更新付款數(shù)據(jù)庫。那么,這兩個組件就要在同一個事務(wù)環(huán)境中運(yùn)行。TransactionServer保證如果任意一個組件失敗,那么將不會有數(shù)據(jù)庫被更新。某些組件不需要事務(wù);例如,AdRotator組件。注冊和配置事務(wù)性組件可使用MTS資源管理器。必須將事務(wù)的屬性設(shè)置為需要事務(wù)或需

20、要新事務(wù)。事務(wù)組件必須在MTS包中注冊。不要將組件放在IIS內(nèi)部進(jìn)程包中,而應(yīng)該創(chuàng)建自己的包。通常,應(yīng)將所有的組件放在一個組件庫中。組件庫的組件可被多個ASP應(yīng)用程序使用并以ASP應(yīng)用程序進(jìn)程運(yùn)行。使用MTS資源管理器可創(chuàng)建新的包并將包的Activation屬性設(shè)置為Library。也可以在Server包中注冊事務(wù)性組件。Server包通常以服務(wù)器上的一個獨(dú)立的進(jìn)程運(yùn)行。如果希望使用基于職能組的安全性檢查或希望您的組件可被遠(yuǎn)程計算機(jī)上的應(yīng)用程序訪問,可對事務(wù)性組件使用Server包。要使用MTS資源管理器,必須安裝MicrosoftTransactionServer。有關(guān)注冊組件和選擇包類型的詳細(xì)信息,請參閱創(chuàng)建MTS包。對象作用域一般情況下,不要將從MTS組件中創(chuàng)建的對象存儲在ASPApplication或Session對象中。MTS對象在事務(wù)完成后消失。因?yàn)镾ession對象和Application對象是為在不同ASP頁之間使用的對象實(shí)例設(shè)計的,所以不要用它們保存在事務(wù)結(jié)束時即被釋放的對象。A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論