明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

提高IIS的安全

[摘要]概要:使用IIS的省缺設(shè)置就象把你屋子的鑰匙給了別人,本文教你如何把門鎖上。(本文不是100%直譯,括號(hào)中的是討飯貓的廢話) 沒有任何系統(tǒng)是100%安全的,系統(tǒng)漏洞會(huì)不斷地發(fā)現(xiàn),這是因?yàn)楹诳秃拖到y(tǒng)管理員一樣也在整天看著新聞組,收集著這方面的信息。黑與反黑之間的戰(zhàn)斗會(huì)永遠(yuǎn)進(jìn)行下去。 如果你采用IIS...
概要:使用IIS的省缺設(shè)置就象把你屋子的鑰匙給了別人,本文教你如何把門鎖上。(本文不是100%直譯,括號(hào)中的是討飯貓的廢話)

沒有任何系統(tǒng)是100%安全的,系統(tǒng)漏洞會(huì)不斷地發(fā)現(xiàn),這是因?yàn)楹诳秃拖到y(tǒng)管理員一樣也在整天看著新聞組,收集著這方面的信息。黑與反黑之間的戰(zhàn)斗會(huì)永遠(yuǎn)進(jìn)行下去。

如果你采用IIS的省缺設(shè)置,那你在這場較量中就已經(jīng)處于下風(fēng)。Windows NT省缺下被安裝為一個(gè)開放的服務(wù)器,即使是菜鳥hacker也能得手。但只要你做下面幾個(gè)簡單步驟,情況就會(huì)有很大改善。雖不敢說攻無不克,至少可以保護(hù)你的數(shù)據(jù)不象小克的拉鏈門一樣世人皆知。

一個(gè)安全的系統(tǒng)要有多層保護(hù)。一般的計(jì)算機(jī)系統(tǒng)有三層保護(hù),物理層,網(wǎng)絡(luò)層,文件系統(tǒng)。物理層就是保護(hù)好計(jì)算機(jī)硬件本身,硬盤,軟盤不被偷走,這就不用我多說了。網(wǎng)絡(luò)層是要保護(hù)與Internet和本地LAN的網(wǎng)絡(luò)連接,主要是靠防火墻和端口的存取權(quán)限設(shè)置。最里面的是文件系統(tǒng),這也是大多數(shù)攻擊的目標(biāo)。下面我們主要也就講這方面。

省缺設(shè)置的問題

NT省缺設(shè)置成一個(gè)開放系統(tǒng),文件系統(tǒng)是幾乎完全沒有安全設(shè)置的,網(wǎng)絡(luò)上的任何用戶都可以讀寫刪除其中的文件。這主要原因是NT中大量使用了 Everyone 組(更可怕是省缺給 full權(quán)限),理論上,地球上任何用戶都屬于everyone組。相比之下,NetWare就設(shè)置為一個(gè)封閉的系統(tǒng),安全性就好很多。為什么Microsoft要做這種蠢事?原因可能是給最大權(quán)限可以減少許多因?yàn)闄?quán)限問題帶來的技術(shù)支持電話吧。(是這樣嗎?)

IIS同樣也有很多問題。安裝IIS時(shí),系統(tǒng)建立一個(gè)前綴是IWAM_(早期版本是IUSR_)的帳戶,該帳戶屬于Guest組,能夠存取Guest組和Everyone組權(quán)限下的所有文件。在省缺安裝下,90%的系統(tǒng)文件可以被該用戶訪問。

看來解決方法就是刪除所有的everyone組權(quán)限了,但實(shí)際上這樣做行不通。因?yàn)镮IS不僅要存取HTML文件,還會(huì)調(diào)用Script和ActiveX控件,還涉及到DLL的執(zhí)行,全部取消Everyone組權(quán)限會(huì)使系統(tǒng)出現(xiàn)這樣那樣的問題。所以要使用一些系統(tǒng)安全工具來一步步做。

系統(tǒng)安全工具

熟悉以下NT系統(tǒng)自帶的安全工具是很重要的:

User Manager(usrmgr.exe)
IIS 4.0: Microsoft management console (MMC.EXE)
IIS 3.0: Internet service manager (INETMGR.EXE)
Registry editor (REGEDT32.EXE)
(介紹省略,不相信你沒用過)

Command line ACL editor (CACLS.EXE)
這個(gè)工具可能知道的人不多,也是NT自帶,用于管理access control list(ACL)。

Control panel, system applet
該工具用于管理系統(tǒng)環(huán)境變量。

步驟一:使用專用的Web組

1 用user manager建立一個(gè)名為WWW的本地組
2 將IWAM_賬號(hào)從Guests組中刪除,加入WWW組
3 賦予WWW組“access this computer from the network”權(quán)限,讓IIS能執(zhí)行一個(gè)本地登錄操作
4 重起WWW服務(wù)
5 在Web根目錄下執(zhí)行命令行操作:

CACLS <DIR>\*.*  /T /E /C /G WWW:R

參數(shù)        Meaning
<DIR>\*.*    Web根目錄。在  With IIS 4.0 中通常是 C:\Inetpub\WWWRoot.    
/T    作用于所有的目錄和子目錄    
/E    編輯ACL,不是替換    
/C    有錯(cuò)誤停止執(zhí)行.    
/G WWW:R    賦予WWW組Read權(quán)限    

這樣Web目錄下的所有文件都承認(rèn)WWW組的讀權(quán)限了。別忘了在其他包含Web內(nèi)容的目錄下執(zhí)行這個(gè)命令(主要是虛擬目錄)

步驟二:刪除Everyone組

完成以上操作后,Internet用戶只能看所允許的文件了。但這還不夠,因?yàn)閑veryone組還存在,現(xiàn)在需要將everyone組從計(jì)算機(jī)中的所有文件中清除出去。
但清除everyone組不象想象的那么簡單。省缺下,許多Microsoft DLL文件在ACL中之只列了everyone組。如果一桿子打到底,這些DLL文件就無人可以訪問了。因?yàn)橐粍h除everyone組,ACL就空了,空的ACL意味著任何訪問者都沒有權(quán)限。執(zhí)行以下命令:

CACLS C:\*.* /T /E /C /G Users:F /R Everyone

參數(shù)    Meaning
/G Users:F    賦予Users組所有權(quán)限
/R Everyone    取消Everyone組所有權(quán)限

這樣可以保證ACL中不為空。然而這樣做帶來兩個(gè)問題:本機(jī)完全開放給本地網(wǎng)絡(luò);變動(dòng)太多的系統(tǒng)文件權(quán)限。最好的方法其實(shí)是找出那些文件只有everyone組權(quán)限,不幸地是WindowsNT沒有提供該功能,但有一些第三方工具能做到這個(gè)功能。(原文中沒有提到到底是哪些工具)如果有這些工具的話,該命令改為:

CACLS C:\*.* /T /E /C /R Everyone

步驟三:處理數(shù)據(jù)庫

如果你的系統(tǒng)包括數(shù)據(jù)庫或ActiveX,例如搜索引擎,guest book什么的,那還需要執(zhí)行步驟三。對(duì)于guest book,執(zhí)行:

CACLS /T /E /C /G WWW:C

參數(shù)    Meaning
/G WWW:C    賦予 WWW 組change權(quán)限.

這時(shí),你可能會(huì)發(fā)現(xiàn)從Web上還是無法更新guest book,甚至連數(shù)據(jù)庫讀操作都無法執(zhí)行。如果出現(xiàn)這種情況,你一定是使用了ODBC連接數(shù)據(jù)庫。問題就出在ODBC的臨時(shí)文件。當(dāng)ODBC 建立時(shí),系統(tǒng)會(huì)建立一個(gè)臨時(shí)文件記錄鎖定信息等。省缺情況下,這些文件是存放在system32目錄下。Internet用戶是沒有在該目錄下寫和創(chuàng)建的權(quán)限的。比較好的解決辦法是指定另一個(gè)Internet用戶有權(quán)限的目錄來存放ODBC臨時(shí)文件。在Control Panel的system applet中加入以下系統(tǒng)變量

變量    
TEMP    %SystemDrive%\TEMP
TMP    %SystemDrive%\TEMP

然后給該目錄授權(quán):

CACLS C:\TEMP\*.* /E /C /G WWW:F

然后重啟機(jī)器。

步驟四:ActiveX 部件

如果使用ASP去連結(jié)數(shù)據(jù)庫,還會(huì)有問題。ASP使用ActiveX部件ADO 去訪問數(shù)據(jù)庫。一個(gè)ASP連結(jié)數(shù)據(jù)庫的典型語法是:

var DBConn = Server.CreateObject('ADODB.Connection');

ADODB.Connection是一個(gè)Program ID,實(shí)際上是一個(gè)文件。在實(shí)際使用中要被翻譯成實(shí)際的地址以便調(diào)用。這個(gè)信息被記錄在注冊(cè)表的 HKEY_CLASSES_ROOT 段中,F(xiàn)在明白要改什么了嗎?就是要給ADODB.Connection所在目錄加上WWW組的讀權(quán)限。用Regedit去找到該目錄吧。

祝賀你

你現(xiàn)在已經(jīng)使你的系統(tǒng)安全很多了。但記住,hacker會(huì)不斷尋找新漏洞來攻破你的系統(tǒng),所以這種安全性設(shè)置只是與hacker進(jìn)行的第一場戰(zhàn)役。  

轉(zhuǎn)自站: http://www.windowstechedge.com




標(biāo)簽:提高IIS的安全 

相關(guān)文章