阿江的WINDOWS服務(wù)器安全設(shè)置
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
阿江的WINDOWS服務(wù)器安全設(shè)置
(如需引用或者轉(zhuǎn)載此文,請(qǐng)注明:作者: 阿江 出處:www.ajiang.net)
前言
其實(shí),在服務(wù)器的安全設(shè)置方面,我雖然有一些經(jīng)驗(yàn),但是還談不上有研究,所以我寫這篇文章的時(shí)候心里很不踏實(shí),總害怕說錯(cuò)了會(huì)誤了別人的事。
本文更側(cè)重于防止ASP漏洞攻擊,所以服務(wù)器防黑等方面的講解可能略嫌少了點(diǎn)。
基本的服務(wù)器安全設(shè)置
安裝補(bǔ)丁
安裝好操作系統(tǒng)之后,最好能在托管之前就完成補(bǔ)丁的安裝,配置好網(wǎng)絡(luò)后,如果是2000則確定安裝上了SP4,如果是2003,則最好安裝上SP1,然后點(diǎn)擊開始→Windows Update,安裝所有的關(guān)鍵更新。
安裝殺毒軟件
雖然殺毒軟件有時(shí)候不能解決問題,但是殺毒軟件避免了很多問題。我一直在用諾頓2004,據(jù)說2005可以殺木馬,不過我沒試過。還有人用瑞星,瑞星是確定可以殺木馬的。更多的人說卡巴司機(jī)好,不過我沒用過。
不要指望殺毒軟件殺掉所有的木馬,因?yàn)锳SP木馬的特征是可以通過一定手段來避開殺毒軟件的查殺。
設(shè)置端口保護(hù)和防火墻、刪除默認(rèn)共享
都是服務(wù)器防黑的措施,即使你的服務(wù)器上沒有IIS,這些安全措施都最好做上。這是阿江的盲區(qū),大概知道屏蔽端口用本地安全策略,不過這方面的東西網(wǎng)上攻略很多,大家可以擻出來看看,晚些時(shí)候我或者會(huì)復(fù)制一些到我的網(wǎng)站上。
權(quán)限設(shè)置
阿江感覺這是防止ASP漏洞攻擊的關(guān)鍵所在,優(yōu)秀的權(quán)限設(shè)置可以將危害減少在一個(gè)IIS站點(diǎn)甚至一個(gè)虛擬目錄里。我這里講一下原理和設(shè)置思路,聰明的朋友應(yīng)該看完這個(gè)就能解決問題了。
權(quán)限設(shè)置的原理
WINDOWS用戶,在WINNT系統(tǒng)中大多數(shù)時(shí)候把權(quán)限按用戶(組)來劃分。在【開始→程序→管理工具→計(jì)算機(jī)管理→本地用戶和組】管理系統(tǒng)用戶和用戶組。
NTFS權(quán)限設(shè)置,請(qǐng)記住分區(qū)的時(shí)候把所有的硬盤都分為NTFS分區(qū),然后我們可以確定每個(gè)分區(qū)對(duì)每個(gè)用戶開放的權(quán)限?!疚募▕A)上右鍵→屬性→安全】在這里管理NTFS文件(夾)權(quán)限。
IIS匿名用戶,每個(gè)IIS站點(diǎn)或者虛擬目錄,都可以設(shè)置一個(gè)匿名訪問用戶(現(xiàn)在暫且把它叫“IIS匿名用戶”),當(dāng)用戶訪問你的網(wǎng)站的.ASP文件的時(shí)候,這個(gè).ASP文件所具有的權(quán)限,就是這個(gè)“IIS匿名用戶”所具有的權(quán)限。
權(quán)限設(shè)置的思路
要為每個(gè)獨(dú)立的要保護(hù)的個(gè)體(比如一個(gè)網(wǎng)站或者一個(gè)虛擬目錄)創(chuàng)建一個(gè)系統(tǒng)用戶,讓這個(gè)站點(diǎn)在系統(tǒng)中具有惟一的可以設(shè)置權(quán)限的身份。
在IIS的【站點(diǎn)屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗(yàn)證控制→編輯→匿名訪問→編輯】填寫剛剛創(chuàng)建的那個(gè)用戶名。
設(shè)置所有的分區(qū)禁止這個(gè)用戶訪問,而剛才這個(gè)站點(diǎn)的主目錄對(duì)應(yīng)的那個(gè)文件夾設(shè)置允許這個(gè)用戶訪問(要去掉繼承父權(quán)限,并且要加上超管組和SYSTEM組)。
這樣設(shè)置了之后,這個(gè)站點(diǎn)里的ASP程序就只有當(dāng)前這個(gè)文件夾的權(quán)限了,從探針上看,所有的硬盤都是紅叉叉。
我的設(shè)置方法
我是先創(chuàng)建一個(gè)用戶組,以后所有的站點(diǎn)的用戶都建在這個(gè)組里,然后設(shè)置這個(gè)組在各個(gè)分區(qū)沒有權(quán)限或者完全拒絕。然后再設(shè)置各個(gè)IIS用戶在各在的文件夾里的權(quán)限。
因?yàn)楸容^多,所以我很不想寫,其實(shí)知道了上面的原理,大多數(shù)人都應(yīng)該懂了,除非不知道怎么添加系統(tǒng)用戶和組,不知道怎么設(shè)置文件夾權(quán)限,不知道IIS站點(diǎn)屬性在那里。真的有那樣的人,你也不要著急,要沉住氣慢慢來,具體的方法其實(shí)自己也能摸索出來的,我就是這樣。當(dāng)然,如果我有空,我會(huì)寫我的具體設(shè)置方法,很傲能還會(huì)配上圖片。
改名或卸載不安全組件
不安全組件不驚人
我的在阿江探針1.9里加入了不安全組件檢測(cè)功能(其實(shí)這是參考7i24的代碼寫的,只是把界面改的友好了一點(diǎn),檢測(cè)方法和他是基本一樣的),這個(gè)功能讓很多站長(zhǎng)吃驚不小,因?yàn)樗l(fā)現(xiàn)他的服務(wù)器支持很多不安全組件。
其實(shí),只要做好了上面的權(quán)限設(shè)置,那么FSO、XML、strem都不再是不安全組件了,因?yàn)樗麄兌紱]有跨出自己的文件夾或者站點(diǎn)的權(quán)限。那個(gè)歡樂時(shí)光更不用怕,有殺毒軟件在還怕什么時(shí)光啊。
最危險(xiǎn)的組件是WSH和Shell,因?yàn)樗梢赃\(yùn)行你硬盤里的EXE等程序,比如它可以運(yùn)行提升程序來提升SERV-U權(quán)限甚至用SERVU來運(yùn)行更高權(quán)限的系統(tǒng)程序。
謹(jǐn)慎決定是否卸載一個(gè)組件
組件是為了應(yīng)用而出現(xiàn)的,而不是為了不安全而出現(xiàn)的,所有的組件都有它的用處,所以在卸載一個(gè)組件之前,你必須確認(rèn)這個(gè)組件是你的網(wǎng)站程序不需要的,或者即使去掉也不關(guān)大體的。否則,你只能留著這個(gè)組件并在你的ASP程序本身上下工夫,防止別人進(jìn)來,而不是防止別人進(jìn)來后SHELL。
比如,F(xiàn)SO和XML是非常常用的組件之一,很多程序會(huì)用到他們。WSH組件會(huì)被一部分主機(jī)管理程序用到,也有的打包程序也會(huì)用到。
卸載最不安全的組件
最簡(jiǎn)單的辦法是直接卸載后刪除相應(yīng)的程序文件。將下面的代碼保存為一個(gè).BAT文件,( 以下均以 WIN2000 為例,如果使用2003,則系統(tǒng)文件夾應(yīng)該是 C:\WINDOWS\ )
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
然后運(yùn)行一下,WScript.Shell, Shell.application, WScript.Network就會(huì)被卸載了??赡軙?huì)提示無法刪除文件,不用管它,重啟一下服務(wù)器,你會(huì)發(fā)現(xiàn)這三個(gè)都提示“×安全”了。
改名不安全組件
需要注意的是組件的名稱和Clsid都要改,并且要改徹底了。下面以Shell.application為例來介紹方法。
打開注冊(cè)表編輯器【開始→運(yùn)行→regedit回車】,然后【編輯→查找→填寫Shell.application→查找下一個(gè)】,用這個(gè)方法能找到兩個(gè)注冊(cè)表項(xiàng):“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。為了確保萬無一失,把這兩個(gè)注冊(cè)表項(xiàng)導(dǎo)出來,保存為 .reg 文件。
比如我們想做這樣的更改
13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001
Shell.application 改名為 Shell.application_ajiang
那么,就把剛才導(dǎo)出的.reg文件里的內(nèi)容按上面的對(duì)應(yīng)關(guān)系替換掉,然后把修改好的.reg文件導(dǎo)入到注冊(cè)表中(雙擊即可),導(dǎo)入了改名后的注冊(cè)表項(xiàng)之后,別忘記了刪除原有的那兩個(gè)項(xiàng)目。這里需要注意一點(diǎn),Clsid中只能是十個(gè)數(shù)字和ABCDEF六個(gè)字母。
下面是我修改后的代碼(兩個(gè)文件我合到一起了):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
@="C:\\WINNT\\system32\\shell32.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
@="Shell.Application_ajiang.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
@="1.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
@="Shell.Application_ajiang"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CurVer]
@="Shell.Application_ajiang.1"
你可以把這個(gè)保存為一個(gè).reg文件運(yùn)行試一下,但是可別就此了事,因?yàn)槿f一黑客也看了我的這篇文章,他會(huì)試驗(yàn)我改出來的這個(gè)名字的。
防止列出用戶組和系統(tǒng)進(jìn)程
我在阿江ASP探針1.9中結(jié)合7i24的方法利用getobject("WINNT")獲得了系統(tǒng)用戶和系統(tǒng)進(jìn)程的列表,這個(gè)列表可能會(huì)被黑客利用,我們應(yīng)當(dāng)隱藏起來,方法是:
【開始→程序→管理工具→服務(wù)】,找到Workstation,停止它,禁用它。
防止Serv-U權(quán)限提升
其實(shí),注銷了Shell組件之后,侵入者運(yùn)行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設(shè)置一下為好。
用Ultraedit打開ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等長(zhǎng)度的其它字符就可以了,ServUAdmin.exe也一樣處理。
另外注意設(shè)置Serv-U所在的文件夾的權(quán)限,不要讓IIS匿名用戶有讀取的權(quán)限,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。
利用ASP漏洞攻擊的常見方法及防范
一般情況下,黑客總是瞄準(zhǔn)論壇等程序,因?yàn)檫@些程序都有上傳功能,他們很容易的就可以上傳ASP木馬,即使設(shè)置了權(quán)限,木馬也可以控制當(dāng)前站點(diǎn)的所有文件了。另外,有了木馬就然后用木馬上傳提升工具來獲得更高的權(quán)限,我們關(guān)閉shell組件的目的很大程度上就是為了防止攻擊者運(yùn)行提升工具。
如果論壇管理員關(guān)閉了上傳功能,則黑客會(huì)想辦法獲得超管密碼,比如,如果你用動(dòng)網(wǎng)論壇并且數(shù)據(jù)庫忘記了改名,人家就可以直接下載你的數(shù)據(jù)庫了,然后距離找到論壇管理員密碼就不遠(yuǎn)了。
作為管理員,我們首先要檢查我們的ASP程序,做好必要的設(shè)置,防止網(wǎng)站被黑客進(jìn)入。另外就是防止攻擊者使用一個(gè)被黑的網(wǎng)站來控制整個(gè)服務(wù)器,因?yàn)槿绻愕姆?wù)器上還為朋友開了站點(diǎn),你可能無法確定你的朋友會(huì)把他上傳的論壇做好安全設(shè)置。這就用到了前面所說的那一大堆東西,做了那些權(quán)限設(shè)置和防提升之后,黑客就算是進(jìn)入了一個(gè)站點(diǎn),也無法破壞這個(gè)網(wǎng)站以外的東西。
后記
也許有安全高手或者破壞高手看了我的文章會(huì)嘲笑或者竊喜,但我想我的經(jīng)驗(yàn)里畢竟還是存在很多正確的地方,有千千萬萬的比我知道的更少的人像我剛開始完全不懂的時(shí)候那樣在渴求著這樣一篇文章,所以我必須寫,我不管別人怎么說我,我也不怕后世會(huì)有千千萬萬的人對(duì)我唾罵,我一個(gè)人承擔(dān)下來,我也沒有娘子需要交代的……
因?yàn)檫@其實(shí)只是拋磚引玉的做法,從別人的笑聲中,我和我的讀者們都可以學(xué)到更多有用的東西。
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!