国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > IIS > 正文

二、徹底掌握IIS6.0功能及應用詳解

2024-08-29 02:57:11
字體:
供稿:網(wǎng)友
  前文介紹了IIS 6.0的安裝和Web服務器的新型體系結構。IIS 6.0新特性的數(shù)量多得令人驚奇,其中一些特性是如此引人注目,以至于人們的大部分注意力都被它們吸引。在這第二篇介 紹IIS 6.0的文章中,我們不僅將了解這些已成為“明星”的特性,還將關注一下IIS 6.0各種較少有人注意卻同樣重要的改進之處。

  一、安全

  微軟一次又一次地做著同樣一件事情――某個軟件產(chǎn)品出了問題,飽受人們詬病,于是趕緊發(fā)布新的版本將問題解決。例如,發(fā)布Windows NT 4.0之后,因穩(wěn)定性問題而飽受批評;于是微軟發(fā)布了Windows 2000,新操作系統(tǒng)的穩(wěn)定性頗受好評,但Win 2K服務器默認安裝的IIS 5.0卻成了巨大的安全隱患,需要下大力氣加以整治才能解決問題。IIS 6.0默認不安裝,如果按照缺省方式安裝,Web服務器只能提供靜態(tài)內(nèi)容服務。因此,從這個角度看,即使以后IIS 6.0應用引擎和組件突然出現(xiàn)了問題,IIS 6.0還是極大地降低了安全風險。另外,Windows Server 2003還有一個新的組策略“禁止安裝IIS”,有了該組策略,我們就可以禁止Windows 2003在活動目錄(AD)森林中禁止不準備作Web服務器用的機器上安裝IIS 6.0,防止網(wǎng)絡上出現(xiàn)根本無用的、不安全的IIS 6.0服務器。不過,目前這個組策略只對Windows 2003服務器有效,不能防止Windows XP Pro和Win 2K的機器安裝IIS 5.0。

  當然,由于剛剛安裝好的IIS 6.0不支持動態(tài)內(nèi)容,所以出現(xiàn)了第二個人們經(jīng)常會問的問題:“為什么我的服務器不能運行ASP?”(前文提到,第一個人們經(jīng)常會問的問題是:“IIS 6.0可以在Win 2K服務器上運行嗎”?答案是“不”)。要想在IIS 6.0上運行程序,必須使用IIS 6.0的一種新特性,即Web服務擴展,或Web Service Extension(這個名字似乎意味著它與XML Web服務有某種關系,實際情況并非如此。)


  如果要為某個程序啟用Web服務擴展,首先打開IIS管理器(在“控制面板”→“管理工具”中。以前叫做Internet服務管理器或ISM),如圖一,點擊“添加一個新的Web服務擴展”,啟動向?qū)?chuàng)建一個新的規(guī)則。為規(guī)則指定一個名字,然后找到想要啟用的執(zhí)行文件。另外,/system32/inetsrv下有一個iisext.vbs腳本,它也能夠配置并管理運行帶有IIS 6.0的Windows Server 2003的Web服務擴展、應用程序和單獨的文件。管理員可以使用此腳本來啟用和列出應用程序;添加和刪除應用程序依賴性;啟用、禁用和列出 Web 服務擴展;添加、刪除、啟用、禁用和列出單獨文件。




  圖一

  在圖一中,注意“所有未知ISAPI擴展”和“所有未知CGI擴展”這兩種Web服務擴展。默認情況下,這兩種擴展是禁用的,意味著除非明確地允許一個應用在IIS 6.0上運行,否則它就不能運行。如果一個用戶請求了某個沒有啟用的文件,IIS 6.0將向用戶返回404錯誤――文件或目錄沒有找到,同時在W3SVC日志中記錄“
404.2文件或目錄無法找到:鎖定策略禁止該請求”。在IIS 6.0中,404.2和其他子狀態(tài)代碼是W3SVC日志文件的一項可選功能,用來幫助排解故障、疑難(IIS 5.0和IIS 4.0中也有子狀態(tài)代碼,不過不會在日志文件中記錄,但可以將它們轉(zhuǎn)到定制的錯誤頁面,便于根據(jù)子狀態(tài)代碼執(zhí)行特殊的處理)。IIS 6.0的子狀態(tài)代碼很有用,它們提供了描述問題的詳細信息,例如:403.20,禁止訪問:Passport登錄失??;403.18,禁止訪問:無法在當前應用程序池中執(zhí)行請求的URL;404.3,文件或目錄無法找到:MIME映射策略禁止該請求;500.19,服務器錯誤:該文件的數(shù)據(jù)在配置數(shù)據(jù)庫中配置不正確。所有這些錯誤和其他錯誤都映射到定制的錯誤頁面,錯誤頁面不會把子狀態(tài)代碼發(fā)送給用戶,攻擊者無法獲知具體的錯誤信息。

  另一個安全方面的改進之處是IIS 6.0允許指派一個加密服務提供者(Cryptographic Service Provider,CSP),能夠?qū)⒒谟布陌踩捉幼謱樱⊿SL)加速器集成到IIS 6.0,從而把加密任務從服務器的通用CPU轉(zhuǎn)移到了專門為加密操作而優(yōu)化的專用設備,有利于提高性能和可靠性。
二、配置數(shù)據(jù)

  在IIS 5.0和IIS 4.0中,配置數(shù)據(jù)庫采用二進制文件結構,但IIS 6.0放棄了這一做法。IIS 6.0的配置數(shù)據(jù)由兩個XML文件構成:一個是Metabase.xml,包含IIS 6.0服務器的配置信息;另一個是mbschema.xml,包含配置數(shù)據(jù)的模式定義。IIS管理器提供了一項新的功能,允許保存配置數(shù)據(jù)副本,只要右擊Web網(wǎng)站,然后選擇“所有任務”→“將配置保存到一個文件”,然后指定配置數(shù)據(jù)副本的文件名字和保存路徑即可。按照這種方式保存配置數(shù)據(jù)時,IIS 6.0利用系統(tǒng)的機器碼(Machine Key)加密配置數(shù)據(jù)的某些部分,因此,配置數(shù)據(jù)的副本只對創(chuàng)建該副本的機器有用。

  不過,在“將配置保存到一個文件”對話框中,我們可以選中“用密碼對配置進行加密”選項,然后指定密碼,用密碼來保護導出的配置文件。如果提供了密碼,IIS 6.0將用密碼來替代機器碼,以后只要提供同一個密碼,就可以將配置數(shù)據(jù)導入到另一個服務器。另外,我們可以使用命令行腳本iisback.vbs(在systemroot/System32中)創(chuàng)建和管理遠程或本地計算機的IIS配置的備份副本,管理員可以使用此腳本工具創(chuàng)建其IIS配置的備份副本,從備份副本還原IIS配置以及列出和刪除備份副本。

  有些時候,我們只要保存某個應用程序池、Web網(wǎng)站或虛擬目錄的配置,而不是保存全部的配置信息,這時可以按照如下步驟操作:右擊要保持配置信息的對象,選擇菜單“所有任務”→“將配置保存到一個文件”,如圖二所示,如果準備將配置數(shù)據(jù)導入到另一個服務器,必須提供加密文件的密碼。



  圖二
  如果右擊一個應用程序池、Web網(wǎng)站組或單個網(wǎng)站,然后選擇“新建”→“應用程序池(來自文件)”,或者“新建”→“網(wǎng)站”→“來自文件”,或者“新建”→“虛擬目錄(來自文件)”,就可以從保存的配置文件創(chuàng)建新的應用程序池、Web網(wǎng)站或虛擬目錄。因此,必要的時候,我們可以只創(chuàng)建和配置一個對象,利用“將配置保存到一個文件”功能導出對象
的配置信息,然后利用“新建”→“虛擬目錄(來自文件)”等功能將配置信息導入到多個Web網(wǎng)站。這就是說,我們可以先精心配置一個模板,然后用它來創(chuàng)建和配置新的網(wǎng)站。當然,出現(xiàn)問題時,配置信息副本還可以用來恢復網(wǎng)站的設置。

  由于IIS 6.0配置信息是可移植的,它還有另外一個好處,這就是方便了升級。假設我們升級時不能直接在Win 2K/IIS 5.0上安裝Windows 2003/IIS 6.0,必須換一臺機器,這時就要解決如何將IIS 5.0不可移植的配置數(shù)據(jù)轉(zhuǎn)移到新的IIS 6.0服務器的問題。利用IIS 6.0配置數(shù)據(jù)的可移植性,解決辦法是:首先安裝好新的Windows 2003服務器,為原來的Win 2K服務器做一個完整的備份,然后在Win 2K服務器上安裝第二個Windows 2003服務器將它升級,導出第二個Windows 2003服務器的配置數(shù)據(jù)(用密碼加密),然后將配置數(shù)據(jù)導入到新的Windows 2003服務器。新安裝的Windows 2003服務器必須作一些調(diào)整,例如允許IUSR帳戶等,但至少現(xiàn)在不必重新執(zhí)行全部配置操作了。

  IIS 6.0的配置數(shù)據(jù)是標準的文本文件(XML文件),所以可以用記事本之類的文本編輯器打開和編輯。如果修改了IIS 5.0或IIS 4.0的配置數(shù)據(jù),有時必須重新啟動IIS,如果系統(tǒng)上網(wǎng)站的數(shù)量很多,可能需要不少時間,例如ISP的服務器就屬于這類情況。為了解決這個問題,IIS 6.0支持一種“運行時允許編輯”功能。“運行時允許編輯”功能按照如下方式啟用:在IIS管理器中,右擊服務器,選擇菜單“屬性”,然后選中“允許直接編輯配置數(shù)據(jù)庫”選項,如圖三所示。啟用了這個功能之后,如果我們用記事本打開配置數(shù)據(jù)文件,插入一個虛擬目錄的配置,然后保存并關閉配置文件,IIS 6.0幾乎立即就能根據(jù)配置文件的設置作相應的修改,根本無需重新啟動。




  圖三

  既然允許直接編輯配置文件,因配置文件不合法造成的服務器、應用程序故障也必然增多。為此,IIS 6.0提供了配置文件歷史版本目錄,即/system32/inetsrv/history,每次修改配置數(shù)據(jù)或重新啟動IIS 6.0,IIS 6.0都會在該目錄中保存一份原有的配置數(shù)據(jù)。

三、IIS管理器

  每次產(chǎn)品重大升級,人們都會試圖從用戶界面尋找令人激動的新功能。IIS 6.0的管理器確實有了變化,不過改動之處出乎意料地少。

  其中一個改動之處雖小,但很實用。如果在IIS管理器中右擊一個文件夾,現(xiàn)在可以選擇“權限”菜單打開文件夾的“安全”對話框。在這個對話
框中可以設置文件夾的NTFS授權,不必再離開IIS管理器。雖然這是一個小小的改動,也許它今年會為全世界所有的IIS管理員總共節(jié)省數(shù)千小時的工作時間。

  右擊一個Web網(wǎng)站,選擇“屬性”,轉(zhuǎn)到“目錄安全性”頁,點擊“安全通信”下面的“編輯”按鈕,在這里可以找到另一個重要的改動之處――安全通信屬性頁允許配置SSL、證書信任列表(CTL)、客戶證書。在IIS 5.0和IIS 4.0中,除非在Web網(wǎng)站上安裝一個證書,否則不能訪問該屬性頁,這一限制令人不快,因為從技術上看,配置CTL、客戶證書并不要求服務器上安裝了證書,換句話說,在IIS 5.0中我們安裝證書的唯一用途可能就是因為用戶界面需要它。IIS 6.0改正了這一多余的要求,現(xiàn)在我們不必在Web服務器上安裝證書也可以訪問和使用該屬性頁了。

  四、通配符應用程序

  如果你熟悉IIS 5.0和IIS 4.0的ISAPI篩選器,可能也熟悉它們的缺點。ISAPI篩選器不僅編寫困難,而且由于它們在Inetinfo進程內(nèi)運行,如果編寫時不小心留下了一點錯誤,很容易導致災難性的后果,出錯的代碼可能造成整個IIS崩潰。另外,ISAPI篩選器不能擁有常規(guī)ISAPI DLL擁有的功能。當然,不管怎樣,在IIS 5.0和IIS 4.0中,ISAPI篩選器仍是一種非常有用的組件,是唯一可以針對所有進入Web服務器或Web網(wǎng)站的請求執(zhí)行操作的代碼。

  IIS 6.0提供了一種更加靈活的新型機制來提供通常由ISAPI篩選器提供的服務,它就是ISAPI截取器(Interceptor),或者稱為通配符應用程序(Wildcard Application)。通配符應用程序的配置方式是:在IIS管理器中右擊Web網(wǎng)站,選擇菜單“屬性”,轉(zhuǎn)到“主目錄”頁面,點擊“應用程序設置”下面的“配置”按鈕,出現(xiàn)“應用程序配置”對話框,如圖四所示。在對話框的“映射”頁中,我們可以將一個或多個ISAPI DLL配置成通配符應用程序。對于每一個接收到的請求,IIS 6.0將調(diào)用這里列出的各個通配符應用程序。除了針對所有網(wǎng)站配置通配符應用程序,還可以針對單個網(wǎng)站或在目錄層次上配置通配符應用程序。由于這些ISAPI截取器是標準的ISAPI應用程序,它們具有普通ISAPI應用程序具備的所有功能,包括訪問消息正文的能力,而不僅僅象ISAPI篩選器那樣訪問消息頭。




  圖四

  通配符應用程序可以做到開發(fā)者要做的任何事情,諸如URL定制、驗證身份、記錄特殊的日志信息、檢測攻擊企圖、創(chuàng)建內(nèi)容,等等。通配符應用程序結束處理后,它把請求轉(zhuǎn)交給適當?shù)奶幚硪妫ɡ缣幚鞟SP頁面的asp.dll),由處理引擎進一步處理請求。另外,通配符應用程序還可以通過調(diào)用為ISAPI應用程序新增的ExecuteURL功能
,將請求傳遞到同一個應用程序池中的任意頁面。

  新增的ISAPI通配符應用程序為創(chuàng)造性的應用程序設計大開方便之門。例如,IIS 6.0的URL授權功能就是作為一個ISAPI通配符應用程序(urlauth.dll)實現(xiàn)。URL授權功能允許IIS 6.0根據(jù)一系列的規(guī)則授予對某個URL的訪問權,例如用戶是否為某個組的成員、地理位置,以及其他在數(shù)據(jù)庫或AD中與用戶有關的信息。有關ISAPI通配符應用程序和URL授權的更多信息,請參見IIS 6.0的幫助文檔。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉林市| 剑河县| 孟村| 海原县| 滨海县| 新兴县| 丹凤县| 边坝县| 博罗县| 阿鲁科尔沁旗| 思茅市| 宁德市| 仪陇县| 额济纳旗| 洛川县| 南和县| 通州市| 合阳县| 辽阳县| 高雄县| 察隅县| 黄冈市| 金阳县| 防城港市| 溧水县| 武清区| 本溪| 六安市| 城固县| 泗洪县| 平凉市| 腾冲县| 巴青县| 嵩明县| 塔河县| 遂宁市| 广水市| 霍州市| 辽中县| 宁夏| 宿迁市|