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