牛曉晨
(西安郵電大學 計算機學院,陜西 西安 710121)
IIS7 是Windows Server 2008 中的一個支持HTTP 發(fā)布服務(wù)的Web 服務(wù)器, 它是網(wǎng)站架設(shè)的基礎(chǔ)平臺。 ASP 是Active Server Page 的縮寫,意為“動態(tài)服務(wù)器頁面”,是一種基于IIS 平臺的動態(tài)網(wǎng)站開發(fā)技術(shù),而Asp.net 是Asp 的一個升級。它們都是微軟公司的技術(shù), 因此使用它們開發(fā)出來的網(wǎng)站數(shù)目眾多。本文從權(quán)限設(shè)置的角度來談一下如何防范黑客對這兩類網(wǎng)站的入侵。
為了充分利用資源,一臺服務(wù)器上往往裝有多個網(wǎng)站。 這些網(wǎng)站有的是管理員自己開發(fā)的,代碼的安全性跟管理員的開發(fā)水平密切相關(guān);有的是購買商業(yè)軟件,安全性較好,補丁也更新的快;有的則是網(wǎng)上下載的破解免費版,網(wǎng)站代碼的安全性較差,甚至有的里面直接被植入了后門。 由于站點源碼來源的復雜和開發(fā)者水平的參差不齊,要從外部預(yù)防所有可能出現(xiàn)的源碼漏洞是不可能的,只能從內(nèi)部考慮:如果黑客滲透進來了,木馬被植入了網(wǎng)站,要怎么做才能最大化降低其破壞力?
通過權(quán)限設(shè)置可以將影響降到最低。 操作系統(tǒng)權(quán)限指的是不同賬戶對文件、文件夾和注冊表等的訪問能力。 IIS7 默認的匿名賬戶是IUSR, 這是一個具有Users 組權(quán)限的內(nèi)建帳號,默認情況下服務(wù)器上所有網(wǎng)站的啟動用戶身份均是IUSR。 因此當某一網(wǎng)站被入侵后,由于Users 組權(quán)限的作用,黑客實際上已取得了全部網(wǎng)站和硬盤文件的訪問權(quán)。 因此通過對不同的網(wǎng)站設(shè)置不同的啟動賬戶,并對相應(yīng)文件和文件夾的讀取和執(zhí)行權(quán)限進行設(shè)置,可以阻止黑客的進一步破壞。
每個網(wǎng)站對應(yīng)新建一個啟動賬戶, 因后期需要對這些賬戶統(tǒng)一進行權(quán)限設(shè)置操作,如對注冊表訪問權(quán)限設(shè)置,所以還需要新建用戶組IIS_guests 將這些賬號加進來。
在IIS 管理器中添加網(wǎng)站,在彈出的選項卡中點擊傳遞身份驗證下的“連接為”按鈕,選擇特定用戶,點擊設(shè)置按鈕,輸入建好的用戶名和密碼,點確定。 建站后系統(tǒng)為每一個站點自動建立一個應(yīng)用程序池,應(yīng)用程序池的運行身份為剛才指定的賬戶,每個應(yīng)用程序池對應(yīng)一個IIS 工作進程(w3wp.exe),有多少個網(wǎng)站在任務(wù)管理器里就會顯示有多少個進程,進程用戶名顯示為應(yīng)用程序池名。 對于Asp 站點,到此就完成了網(wǎng)站啟動賬戶的指定。 對于Asp.net 站點還需要進行如下操作:
(1)若Asp.net 的開發(fā)非.Net4.0 框架,需將應(yīng)用程序池的托管模式由默認的“集成”改為“經(jīng)典”。 (2)將網(wǎng)站的IIS 設(shè)置項中的“身份認證”選項卡里的“ASP.NET 模擬”項設(shè)為啟動。(3)給予啟動賬戶對“C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files”目錄的讀寫權(quán)限。
2.1 節(jié)新建賬戶都屬于authenticated users,而authenticated users 屬于Users 組,因此就算把新建用戶從Users 組刪除,其仍具有Users 組的權(quán)限。 為了阻止黑客入侵網(wǎng)站后對服務(wù)器文件的訪問,我們要對磁盤文件和文件夾做如下權(quán)限設(shè)置:
(1) 刪除所有盤符的根權(quán)限中的Users 組和everyone 權(quán)限。因為指定的網(wǎng)站啟動用戶均默認具備了Users 組的權(quán)限,不這樣做,黑客滲透入某一網(wǎng)站后將會看的服務(wù)器上所以盤符下的文件。 (2)刪除網(wǎng)站文件存放目錄的Users 組權(quán)限,同時添加其啟動賬戶的讀權(quán)限。 這使得只有該網(wǎng)站的啟動賬戶才能訪問該網(wǎng)站的文件。 (3)對于access 數(shù)據(jù)庫文件和可上傳文件的文件夾添加啟動賬戶的寫權(quán)限。 (4)如果有ftp 上傳要求,需新建ftp 管理賬戶,并添加該賬戶對網(wǎng)站根目錄的讀寫權(quán)限。
基本上每個網(wǎng)站都有上傳文件和圖片的功能, 而黑客往往通過上傳漏洞將木馬傳到服務(wù)器上。 由2.2 節(jié)的權(quán)限設(shè)置可知,除上傳目錄外,其它目錄均不可寫,黑客只能將木馬寫入到上傳目錄里,所以需要關(guān)閉此目錄的腳步執(zhí)行功能。 關(guān)閉方法如下:在IIS 管理器里,選中某一網(wǎng)站上傳文件夾,雙擊其“處理程序映射”功能選項,接著選擇右側(cè)操作子欄里的“編輯功能權(quán)限”選項,將“腳本”選項去掉,這樣上傳目錄里的腳本就無法運行了。
遠程桌面是遠程管理服務(wù)器的利器, 通過修改默認的3389 端口可防止其被黑客利用,但是木馬腳本可通過讀取注冊表來獲得真實的連接端口。 因此需要在注冊表[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server]項的權(quán)限中設(shè)置IIS_guests 組權(quán)限為拒絕讀取。
將海陽頂端網(wǎng)asp 木馬和WebAdmin 2.0 Asp.net 木馬放入網(wǎng)站進行測試,結(jié)果如下:木馬只能讀取入侵網(wǎng)站所在目錄中的文件,只能修改本站點的上傳目錄文件和access 數(shù)據(jù)庫文件,植入上傳目錄中的木馬無法運行,遠程桌面的端口信息無法獲取。
本文分析了Asp 與Asp.Net 網(wǎng)站腳本漏洞產(chǎn)生原因,給出一種基于權(quán)限設(shè)置的入侵防范方法,并進行了講解與測試。 實驗表明該方法有效地保護了服務(wù)器資源不被竊取,阻止了黑客的進一步入侵。
[1]Microsoft.MSDN Library [EB/OL].2013.http://msdn.microsoft.com/library/