深入剖析IIS 6.0(7)_Windows教程

圖六
如果緩沖區(qū)溢出攻擊成功入侵了一個Web應(yīng)用,攻擊者只能訪問當(dāng)時運行工作進(jìn)程的帳戶有權(quán)訪問的資源,默認(rèn)的網(wǎng)絡(luò)服務(wù)帳戶不能寫入Inetpub文件夾,執(zhí)行權(quán)限也極其有限,所以象CodeRed蠕蟲之類的攻擊根本不可能得逞。
某些Web應(yīng)用,特別是有些Internet Server API(ISAPI)篩選器,在進(jìn)程外運行時可能會遇到問題。在IIS 5.0和IIS 4.0中,ISAPI篩選器總是在Inetinfo之內(nèi)運行,它們的設(shè)計目標(biāo)本來就不是在進(jìn)程外運行,正是由于這個原因,某些篩選器在IIS 6.0的工作進(jìn)程隔離模式中運行時可能會出現(xiàn)問題——特別地,調(diào)用SF_READ_RAW_DATA或SF_SEND_RAW_DATA的篩選器尤其明顯。為此,IIS 6.0還提供了第二種操作模式,稱為IIS 5.0隔離模式。如果ISAPI篩選器不能在工作進(jìn)程隔離模式下正常運行,在IIS 5.0隔離模式下應(yīng)該沒有問題。在這第二種操作模式中,應(yīng)用程序仍舊能夠從IIS 6.0的許多改進(jìn)中獲益,例如http.sys驅(qū)動程序帶來的性能、可靠性的提高。
在IIS 6.0文檔中,可以看到一種叫做“應(yīng)用程序池”的新特性。一個應(yīng)用程序池包含一個或者一組工作進(jìn)程,而且應(yīng)用程序池是可以命名的。應(yīng)用程序池可以從下列角度理解:在IIS 5.0中,我們可以將應(yīng)用程序保護(hù)設(shè)置為低級(IIS進(jìn)程)、中級(緩沖池)、高級(隔離),這個功能雖然很有用,但如果我們想要在一個池(一個dllhost.exe的實例)中運行兩個應(yīng)用程序,在另一個池(另一個dllhost.exe的實例?)中運行另外兩個應(yīng)用,該怎么辦?IIS 5.0沒有提供命名dllhost.exe實例的途徑,因而也就不能將兩個特定的應(yīng)用放入某個池運行。IIS 6.0的應(yīng)用程序池允許指定名稱,如圖七,通過網(wǎng)站“屬性”對話框的“主目錄”頁,可以方便地將Web網(wǎng)站或目錄放入應(yīng)用程序池。

圖七
- 相關(guān)鏈接:
- 教程說明:
Windows教程-深入剖析IIS 6.0(7)
。