阿江的Windows 2000服務(wù)器安全設(shè)置教程
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)章丘免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
前言
其實(shí),在服務(wù)器的安全設(shè)置方面,我雖然有一些經(jīng)驗(yàn),但是還談不上有研究,所以我寫這篇文章的時候心里很不踏實(shí),總害怕說錯了會誤了別人的事。
本文更側(cè)重于防止ASP漏洞攻擊,所以服務(wù)器防黑等方面的講解可能略嫌少了點(diǎn)。
基本的服務(wù)器安全設(shè)置
安裝補(bǔ)丁
安裝好操作系統(tǒng)之后,最好能在托管之前就完成補(bǔ)丁的安裝,配置好網(wǎng)絡(luò)后,如果是2000則確定安裝上了SP4,如果是2003,則最好安裝上SP1,然后點(diǎn)擊開始→Windows Update,安裝所有的關(guān)鍵更新。
安裝殺毒軟件
雖然殺毒軟件有時候不能解決問題,但是殺毒軟件避免了很多問題。我一直在用諾頓2004,據(jù)說2005可以殺木馬,不過我沒試過。還有人用瑞星,瑞星是確定可以殺木馬的。更多的人說卡巴司機(jī)好,不過我沒用過。
不要指望殺毒軟件殺掉所有的木馬,因?yàn)锳SP木馬的特征是可以通過一定手段來避開殺毒軟件的查殺。
設(shè)置端口保護(hù)和防火墻、刪除默認(rèn)共享
都是服務(wù)器防黑的措施,即使你的服務(wù)器上沒有IIS,這些安全措施都最好做上。這是阿江的盲區(qū),大概知道屏蔽端口用本地安全策略,不過這方面的東西網(wǎng)上攻略很多,大家可以擻出來看看,晚些時候我或者會復(fù)制一些到我的網(wǎng)站上。
權(quán)限設(shè)置
阿江感覺這是防止ASP漏洞攻擊的關(guān)鍵所在,優(yōu)秀的權(quán)限設(shè)置可以將危害減少在一個IIS站點(diǎn)甚至一個虛擬目錄里。我這里講一下原理和設(shè)置思路,聰明的朋友應(yīng)該看完這個就能解決問題了。
權(quán)限設(shè)置的原理
WINDOWS用戶,在WINNT系統(tǒng)中大多數(shù)時候把權(quán)限按用戶(組)來劃分。在【開始→程序→管理工具→計(jì)算機(jī)管理→本地用戶和組】管理系統(tǒng)用戶和用戶組。
NTFS權(quán)限設(shè)置,請記住分區(qū)的時候把所有的硬盤都分為NTFS分區(qū),然后我們可以確定每個分區(qū)對每個用戶開放的權(quán)限。【文件(夾)上右鍵→屬性→安全】在這里管理NTFS文件(夾)權(quán)限。
IIS匿名用戶,每個IIS站點(diǎn)或者虛擬目錄,都可以設(shè)置一個匿名訪問用戶(現(xiàn)在暫且把它叫“IIS匿名用戶),當(dāng)用戶訪問你的網(wǎng)站的.ASP文件的時候,這個.ASP文件所具有的權(quán)限,就是這個“IIS匿名用戶所具有的權(quán)限。
權(quán)限設(shè)置的思路
要為每個獨(dú)立的要保護(hù)的個體(比如一個網(wǎng)站或者一個虛擬目錄)創(chuàng)建一個系統(tǒng)用戶,讓這個站點(diǎn)在系統(tǒng)中具有惟一的可以設(shè)置權(quán)限的身份。
在IIS的【站點(diǎn)屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗(yàn)證控制→編輯→匿名訪問→編輯】填寫剛剛創(chuàng)建的那個用戶名。
設(shè)置所有的分區(qū)禁止這個用戶訪問,而剛才這個站點(diǎn)的主目錄對應(yīng)的那個文件夾設(shè)置允許這個用戶訪問(要去掉繼承父權(quán)限,并且要加上超管組和SYSTEM組)。
這樣設(shè)置了之后,這個站點(diǎn)里的ASP程序就只有當(dāng)前這個文件夾的權(quán)限了,從探針上看,所有的硬盤都是紅叉叉。
我的設(shè)置方法
我是先創(chuàng)建一個用戶組,以后所有的站點(diǎn)的用戶都建在這個組里,然后設(shè)置這個組在各個分區(qū)沒病權(quán)限。然后再設(shè)置各個IIS用戶在各在的文件夾里的權(quán)限。
因?yàn)楸容^多,所以我很不想寫,其實(shí)知道了上面的原理,大多數(shù)人都應(yīng)該懂了,除非不知道怎么添加系統(tǒng)用戶和組,不知道怎么設(shè)置文件夾權(quán)限,不知道IIS站點(diǎn)屬性在那里。真的有那樣的人,你也不要著急,要沉住氣慢慢來,具體的方法其實(shí)自己也能摸索出來的,我就是這樣。當(dāng)然,如果我有空,我會寫我的具體設(shè)置方法,很傲能還會配上圖片。
改名或卸載不安全組件
不安全組件不驚人
我的在阿江探針1.9里加入了不安全組件檢測功能(其實(shí)這是參考7i24的代碼寫的,只是把界面改的友好了一點(diǎn),檢測方法和他是基本一樣的),這個功能讓很多站長吃驚不小,因?yàn)樗l(fā)現(xiàn)他的服務(wù)器支持很多不安全組件。
其實(shí),只要做好了上面的權(quán)限設(shè)置,那么FSO、XML、strem都不再是不安全組件了,因?yàn)樗麄兌紱]有跨出自己的文件夾或者站點(diǎn)的權(quán)限。那個歡樂時光更不用怕,有殺毒軟件在還怕什么時光啊。
最危險(xiǎn)的組件是WSH和Shell,因?yàn)樗梢赃\(yùn)行你硬盤里的EXE等程序,比如它可以運(yùn)行提升程序來提升SERV-U權(quán)限甚至用SERVU來運(yùn)行更高權(quán)限的系統(tǒng)程序。
卸載最不安全的組件
最簡單的辦法是直接卸載后刪除相應(yīng)的程序文件。將下面的代碼保存為一個.BAT文件,
regsvr32/u C:WINNTSystem32wshom.ocx
del C:WINNTSystem32wshom.ocx
regsvr32/u C:WINNTsystem32shell32.dll
del C:WINNTsystem32shell32.dll
然后運(yùn)行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了??赡軙崾緹o法刪除文件,不用管它,重啟一下服務(wù)器,你會發(fā)現(xiàn)這三個都提示“×安全了。
改名不安全組件
需要注意的是組件的名稱和Clsid都要改,并且要改徹底了。下面以Shell.application為例來介紹方法。
打開注冊表編輯器【開始→運(yùn)行→regedit回車】,然后【編輯→查找→填寫Shell.application→查找下一個】,用這個方法能找到兩個注冊表項(xiàng):“{13709620-C279-11CE-A49E-444553540000}和“Shell.application。為了確保萬無一失,把這兩個注冊表項(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)容按上面的對應(yīng)關(guān)系替換掉,然后把修改好的.reg文件導(dǎo)入到注冊表中(雙擊即可),導(dǎo)入了改名后的注冊表項(xiàng)之后,別忘記了刪除原有的`那兩個項(xiàng)目。這里需要注意一點(diǎn),Clsid中只能是十個數(shù)字和ABCDEF六個字母。
下面是我修改后的代碼(兩個文件我合到一起了):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32]
@="C:WINNTsystem32shell32.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID]
@="Shell.Application_ajiang.1"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version]
@="1.1"
[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID]
@="Shell.Application_ajiang"
[HKEY_CLASSES_ROOTShell.Application_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOTShell.Application_ajiangCLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOTShell.Application_ajiangCurVer]
@="Shell.Application_ajiang.1"
你可以把這個保存為一個.reg文件運(yùn)行試一下,但是可別就此了事,因?yàn)槿f一黑客也看了我的這篇文章,他會試驗(yàn)我改出來的這個名字的。
防止列出用戶組和系統(tǒng)進(jìn)程
我在阿江ASP探針1.9中結(jié)合7i24的方法利用getobject("WINNT")獲得了系統(tǒng)用戶和系統(tǒng)進(jìn)程的列表,這個列表可能會被黑客利用,我們應(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,修改成等長度的其它字符就可以了,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)閉了上傳功能,則黑客會想辦法獲得超管密碼,比如,如果你用動網(wǎng)論壇并且數(shù)據(jù)庫忘記了改名,人家就可以直接下載你的數(shù)據(jù)庫了,然后距離找到論壇管理員密碼就不遠(yuǎn)了。
作為管理員,我們首先要檢查我們的ASP程序,做好必要的設(shè)置,防止網(wǎng)站被黑客進(jìn)入。另外就是防止攻擊者使用一個被黑的網(wǎng)站來控制整個服務(wù)器,因?yàn)槿绻愕姆?wù)器上還為朋友開了站點(diǎn),你可能無法確定你的朋友會把他上傳的論壇做好安全設(shè)置。這就用到了前面所說的那一大堆東西,做了那些權(quán)限設(shè)置和防提升之后,黑客就算是進(jìn)入了一個站點(diǎn),也無法破壞這個網(wǎng)站以外的東西。
安全狗本身就是做服務(wù)器安全的,你說的應(yīng)該是安全狗服云平臺,這個平臺挺好用的。在服云上就可以批量集中管理服務(wù)器,并且實(shí)時監(jiān)控服務(wù)器是否異常狀況。建議你可以用下服云手機(jī)APP,很方便,在手機(jī)上就可以遠(yuǎn)程管理服務(wù)器。還有就是如果擔(dān)心安全問題,安全都是相對的,建議你的賬戶密碼最好設(shè)置的復(fù)雜些。
安全狗服云介紹:
服務(wù)器安全運(yùn)維云平臺,采用云+端模式,與服務(wù)器端的安全狗軟件進(jìn)行數(shù)據(jù)聯(lián)動,提供安全防護(hù)、實(shí)時監(jiān)控、實(shí)時告警、系統(tǒng)風(fēng)險(xiǎn)識別、安全事件分析、遠(yuǎn)程管理等安全管理云服務(wù)。擁有服云PC客戶端和手機(jī)客戶端(Android版/ios版),您無需登錄服務(wù)器,隨時隨地就可以輕松掌握服務(wù)器與網(wǎng)站的安全。
Windows 2000 Server、Freebsd是兩種常見的服務(wù)器。第一種是微軟的產(chǎn)品,方便好用,但是,你必須要不斷的patch它。Freebsd是一種優(yōu)雅的操作系統(tǒng),它簡潔的內(nèi)核和優(yōu)異的性能讓人感動。關(guān)于這幾種操作系統(tǒng)的安全,每種都可以寫一本書。我不會在這里對它們進(jìn)行詳細(xì)描述,只講一些系統(tǒng)初始化安全配置。
Windows2000 Server的初始安全配置
Windows的服務(wù)器在運(yùn)行時,都會打開一些端口,如135、139、445等。這些端口用于Windows本身的功能需要,冒失的關(guān)閉它們會影響到Windows的功能。然而,正是因?yàn)檫@些端口的存在,給Windows服務(wù)器帶來諸多的安全風(fēng)險(xiǎn)。遠(yuǎn)程攻擊者可以利用這些開放端口來廣泛的收集目標(biāo)主機(jī)信息,包括操作系統(tǒng)版本、域SID、域用戶名、主機(jī)SID、主機(jī)用戶名、帳號信息、網(wǎng)絡(luò)共享信息、網(wǎng)絡(luò)時間信息、Netbios名字、網(wǎng)絡(luò)接口信息等,并可用來枚舉帳號和口令。今年8月份和9月份,微軟先后發(fā)布了兩個基于135端口的RPCDCOM漏洞的安全公告,分別是MS03-026和 MS03-039,該漏洞風(fēng)險(xiǎn)級別高,攻擊者可以利用它來獲取系統(tǒng)權(quán)限。而類似于這樣的漏洞在微軟的操作系統(tǒng)中經(jīng)常存在。
解決這類問題的通用方法是打補(bǔ)丁,微軟有保持用戶補(bǔ)丁更新的良好習(xí)慣,并且它的Windows2000SP4安裝后可通過WindowsUpdate來自動升級系統(tǒng)補(bǔ)丁。另外,在防火墻上明確屏蔽來自因特網(wǎng)的對135-139和445、593端口的訪問也是明智之舉。
Microsoft的SQLServer數(shù)據(jù)庫服務(wù)也容易被攻擊,今年3月份盛行的SQL蠕蟲即使得多家公司損失慘重,因此,如果安裝了微軟的'SQLServer,有必要做這些事:1)更新數(shù)據(jù)庫補(bǔ)??;2)更改數(shù)據(jù)庫的默認(rèn)服務(wù)端口(1433);3)在防火墻上屏蔽數(shù)據(jù)庫服務(wù)端口;4)保證 sa口令非空。
另外,在Windows服務(wù)器上安裝殺毒軟件是絕對必須的,并且要經(jīng)常更新病毒庫,定期運(yùn)行殺毒軟件查殺病毒。
不要運(yùn)行不必要的服務(wù),尤其是IIS,如果不需要它,就根本不要安裝。IIS歷來存在眾多問題,有幾點(diǎn)在配置時值得注意:1)操作系統(tǒng)補(bǔ)丁版本不得低于SP3;2)不要在默認(rèn)路徑運(yùn)行WEB(默認(rèn)是c:inetpubwwwroot);3)以下ISAPI應(yīng)用程序擴(kuò)展可被刪掉:。 ida.idq.idc .shtm .shtml .printer。
Freebsd的初始安全配置
Freebsd在設(shè)計(jì)之初就考慮了安全問題,在初次安裝完成后,它基本只打開了22(SSH)和25(Sendmail)端口,然而,即使是 Sendmail也應(yīng)該把它關(guān)閉(因?yàn)闅v史上Sendmail存在諸多安全問題)。方式是編輯/etc/rc.conf文件,改動和增加如下四句:
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
這樣就禁止了Sendmail的功能,除非你的服務(wù)器處于一個安全的內(nèi)網(wǎng)(例如在防火墻之后并且網(wǎng)段中無其他公司主機(jī)),否則不要打開Sendmail。
禁止網(wǎng)絡(luò)日志:在/etc/rc.conf中保證有如下行:
syslogd_flags="-ss"
這樣做禁止了來自遠(yuǎn)程主機(jī)的日志記錄并關(guān)閉514端口,但仍允許記錄本機(jī)日志。
禁止NFS服務(wù):在/etc/rc.conf中有如下幾行:
nfs_server_enable="NO"
nfs_client_enable="NO"
portmap_enable="NO"
有些情況下很需要NFS服務(wù),例如用戶上傳圖片的目錄通常需要共享出來供幾臺WEB服務(wù)器使用,就要用到NFS。同理,要打開NFS,必須保證你的服務(wù)器處于安全的內(nèi)網(wǎng),如果NFS服務(wù)器可以被其他人訪問到,那么系統(tǒng)存在較大風(fēng)險(xiǎn)。保證/etc/inetd.conf文件中所有服務(wù)都被注銷,跟其他系統(tǒng)不同,不要由inetd運(yùn)行任何服務(wù)。將如下語句加進(jìn)/etc/rc.conf:
inetd_enable="NO"
所有對/etc/rc.conf文件的修改執(zhí)行完后都應(yīng)重啟系統(tǒng)。
如果要運(yùn)行Apache,請編輯httpd.conf文件,修改如下選項(xiàng)以增進(jìn)安全或性能:
1) Timeout 300Timeout 120
2) MaxKeepAliveRequests 256
3) ServerSignature onServerSignature off
4) Options IndexesFollowSymLinks行把indexes刪掉(目錄的Options不要帶index選項(xiàng))
5) 將Apache運(yùn)行的用戶和組改為nobody
6) MaxClients 150——MaxClients 1500
(如果要使用Apache,內(nèi)核一定要重新編譯,否則通不過Apache的壓力測試,關(guān)于如何配置和管理WEB服務(wù)器請見我的另一篇文章)
如果要運(yùn)行FTP服務(wù),請安裝proftpd,它比較安全。在任何服務(wù)器上,都不要打開匿名FTP。
Windows 2000 Server和Freebsd兩種服務(wù)器的安全配置就向大家介紹完了,希望大家已經(jīng)掌握。