由于Web服務(wù)器被越來越多的駭客和蠕蟲制造者作為首要攻擊目標(biāo),IIS便也成為了Microsoft可信賴計(jì)算計(jì)劃中首要關(guān)注的內(nèi)容。因此,IIS 6.0被完全的重新設(shè)計(jì),以實(shí)現(xiàn)默認(rèn)安全和設(shè)計(jì)安全。本文主要講述了IIS 6.0在默認(rèn)設(shè)置和設(shè)計(jì)上安全性的改變是如何使其成為關(guān)鍵web應(yīng)用的平臺(tái)。
默認(rèn)安全
過去,包括像微軟這樣的企業(yè),都在他們的web服務(wù)器上安裝一系列的默認(rèn)示例腳本,文件處理和最小文件授權(quán),以提高管理員管理的靈活性和可用性。但是,這些默認(rèn)設(shè)置都增加了IIS的被攻擊面,或者成為了攻擊IIS的基礎(chǔ)。因此,IIS 6.0被設(shè)計(jì)成了一個(gè)比早期產(chǎn)品更安全的平臺(tái)。最顯而易見的變化是IIS 6.0并沒有被Windows Server 2003默認(rèn)安裝,而是需要管理員顯式的安裝這個(gè)組件。其他的變化包括:
·默認(rèn)只安裝靜態(tài)HTTP服務(wù)器
IIS 6.0的默認(rèn)安裝被設(shè)置為僅安裝靜態(tài)HTML頁面顯示所需的組件,而不允許動(dòng)態(tài)內(nèi)容。下表比較了IIS 5.0和IIS 6.0的默認(rèn)安裝設(shè)置:
·默認(rèn)不安裝應(yīng)用范例
IIS 6.0中不再包括任何類似showcode.asp或codebrws.asp等的范例腳本或應(yīng)用。這些程序原被設(shè)計(jì)來方便程序員快速察看和調(diào)試數(shù)據(jù)庫的連接代碼,但是由于showcode.asp和codebrws.asp沒有正確的進(jìn)行輸入檢查,以確定所訪問的文件是否位于站點(diǎn)根目錄下。這就允許攻擊者繞過它去讀取系統(tǒng)中的任何一個(gè)文件(包括敏感信息和本應(yīng)不可見的配置文件),參考以下鏈接以獲取該漏洞的更多的細(xì)節(jié):http://www.microsoft.com/technet/treeview/default.asp?
url=/technet/security/bulletin/MS99-013.asp
·增強(qiáng)的文件訪問控制
匿名帳號(hào)不再具有web服務(wù)器根目錄的寫權(quán)限。另外,F(xiàn)TP用戶也被相互隔離在他們自己的根目錄中。這些限制有效的避免了用戶向服務(wù)器文件系統(tǒng)的其他部分上傳一些有害程序。例如攻擊者可以向/scripts目錄上傳一些有害的可執(zhí)行代碼,并遠(yuǎn)程執(zhí)行這些代碼,從而攻擊web站點(diǎn)。
·虛擬目錄不再具有執(zhí)行權(quán)限
虛擬目錄中不再允許執(zhí)行可執(zhí)行程序。這樣避免了大量的存在于早期IIS系統(tǒng)中的目錄遍歷漏洞、上傳代碼漏洞以及MDAC漏洞?! ?BR> ·去除了子驗(yàn)證模塊
IIS 6.0中去除了IISSUBA.dll。任何在早期IIS版本中,需要該DLL模塊來驗(yàn)證的賬號(hào),現(xiàn)在需要具有"從網(wǎng)絡(luò)上訪問這臺(tái)計(jì)算機(jī)"的權(quán)限。這個(gè)DLL模塊的去除,可以強(qiáng)制要求所有的訪問都直接去SAM或者活動(dòng)目錄進(jìn)行身份驗(yàn)證,從而減少IIS可能的被攻擊面?! ?BR> ·父目錄被禁用
IIS 6.0中默認(rèn)禁用了對(duì)父目錄的訪問。這樣可以避免攻擊者跨越web站點(diǎn)的目錄結(jié)構(gòu),訪問服務(wù)器上的其他敏感文件,如SAM文件等。當(dāng)然也請(qǐng)注意,由于父目錄默認(rèn)被禁用,這可能導(dǎo)致一些從早期版本IIS上遷移過來的應(yīng)用由于無法使用父目錄而出錯(cuò)
默認(rèn)安全
過去,包括像微軟這樣的企業(yè),都在他們的web服務(wù)器上安裝一系列的默認(rèn)示例腳本,文件處理和最小文件授權(quán),以提高管理員管理的靈活性和可用性。但是,這些默認(rèn)設(shè)置都增加了IIS的被攻擊面,或者成為了攻擊IIS的基礎(chǔ)。因此,IIS 6.0被設(shè)計(jì)成了一個(gè)比早期產(chǎn)品更安全的平臺(tái)。最顯而易見的變化是IIS 6.0并沒有被Windows Server 2003默認(rèn)安裝,而是需要管理員顯式的安裝這個(gè)組件。其他的變化包括:
·默認(rèn)只安裝靜態(tài)HTTP服務(wù)器
IIS 6.0的默認(rèn)安裝被設(shè)置為僅安裝靜態(tài)HTML頁面顯示所需的組件,而不允許動(dòng)態(tài)內(nèi)容。下表比較了IIS 5.0和IIS 6.0的默認(rèn)安裝設(shè)置:
·默認(rèn)不安裝應(yīng)用范例
IIS 6.0中不再包括任何類似showcode.asp或codebrws.asp等的范例腳本或應(yīng)用。這些程序原被設(shè)計(jì)來方便程序員快速察看和調(diào)試數(shù)據(jù)庫的連接代碼,但是由于showcode.asp和codebrws.asp沒有正確的進(jìn)行輸入檢查,以確定所訪問的文件是否位于站點(diǎn)根目錄下。這就允許攻擊者繞過它去讀取系統(tǒng)中的任何一個(gè)文件(包括敏感信息和本應(yīng)不可見的配置文件),參考以下鏈接以獲取該漏洞的更多的細(xì)節(jié):http://www.microsoft.com/technet/treeview/default.asp?
url=/technet/security/bulletin/MS99-013.asp
·增強(qiáng)的文件訪問控制
匿名帳號(hào)不再具有web服務(wù)器根目錄的寫權(quán)限。另外,F(xiàn)TP用戶也被相互隔離在他們自己的根目錄中。這些限制有效的避免了用戶向服務(wù)器文件系統(tǒng)的其他部分上傳一些有害程序。例如攻擊者可以向/scripts目錄上傳一些有害的可執(zhí)行代碼,并遠(yuǎn)程執(zhí)行這些代碼,從而攻擊web站點(diǎn)。
·虛擬目錄不再具有執(zhí)行權(quán)限
虛擬目錄中不再允許執(zhí)行可執(zhí)行程序。這樣避免了大量的存在于早期IIS系統(tǒng)中的目錄遍歷漏洞、上傳代碼漏洞以及MDAC漏洞?! ?BR> ·去除了子驗(yàn)證模塊
IIS 6.0中去除了IISSUBA.dll。任何在早期IIS版本中,需要該DLL模塊來驗(yàn)證的賬號(hào),現(xiàn)在需要具有"從網(wǎng)絡(luò)上訪問這臺(tái)計(jì)算機(jī)"的權(quán)限。這個(gè)DLL模塊的去除,可以強(qiáng)制要求所有的訪問都直接去SAM或者活動(dòng)目錄進(jìn)行身份驗(yàn)證,從而減少IIS可能的被攻擊面?! ?BR> ·父目錄被禁用
IIS 6.0中默認(rèn)禁用了對(duì)父目錄的訪問。這樣可以避免攻擊者跨越web站點(diǎn)的目錄結(jié)構(gòu),訪問服務(wù)器上的其他敏感文件,如SAM文件等。當(dāng)然也請(qǐng)注意,由于父目錄默認(rèn)被禁用,這可能導(dǎo)致一些從早期版本IIS上遷移過來的應(yīng)用由于無法使用父目錄而出錯(cuò)