入侵檢測(cè)系統(tǒng)(IDS)是防火墻的合理補(bǔ)充,它幫助安全系統(tǒng)發(fā)現(xiàn)可能的入侵前兆,并對(duì)付網(wǎng)絡(luò)攻擊。入侵檢測(cè)系統(tǒng)能在不影響網(wǎng)絡(luò)性能的情況下對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)測(cè),提供對(duì)內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),能夠擴(kuò)展系統(tǒng)管理員的安全管理能力(包括安全審計(jì)、監(jiān)視、進(jìn)攻識(shí)別和響應(yīng)),提高了信息安全基礎(chǔ)結(jié)構(gòu)的完整性。但是,入侵檢測(cè)系統(tǒng)并不是萬(wàn)能的,高昂的價(jià)格也讓人退卻,而且,單個(gè)服務(wù)器或者小型網(wǎng)絡(luò)配置入侵檢測(cè)系統(tǒng)或者防火墻等投入也太大了。
一、對(duì)于WWW服務(wù)入侵的前兆檢測(cè)
對(duì)于網(wǎng)絡(luò)上開(kāi)放的服務(wù)器來(lái)說(shuō),WWW服務(wù)是最常見(jiàn)的服務(wù)之一;80端口的入侵也因此是最普遍的。很多sceipt kids就對(duì)修改WEB頁(yè)面非常熱衷。WWW服務(wù)面對(duì)的用戶(hù)多,流量相對(duì)來(lái)說(shuō)都很高,同時(shí)WWW服務(wù)的漏洞和相應(yīng)的入侵方法和技巧也非常多,并且也相對(duì)容易,很多“黑客”使用的漏洞掃描器就能夠掃描80端口的各種漏洞,比如wwwscan 、X-scanner等,甚至也有只針對(duì)80端口的漏洞掃描器。Windows系統(tǒng)上提供WWW服務(wù)的IIS也一直漏洞不斷,成為系統(tǒng)管理員頭疼的一部分。
雖然80端口入侵和掃描很多,但是80端口的日志記錄也非常容易。IIS提供記錄功能很強(qiáng)大的日志記錄功能。在“Internet 服務(wù)管理器”中站點(diǎn)屬性可以啟用日志記錄。默認(rèn)情況下日志都存放在%WinDir%System32LogFiles,按照每天保存在exyymmdd.log文件中。這些都可以進(jìn)行相應(yīng)配置,包括日志記錄的內(nèi)容。
在配置IIS的時(shí)候應(yīng)該讓IIS日志盡量記錄得盡量詳細(xì),可以幫助進(jìn)行入侵判斷和分析,F(xiàn)在我們要利用這些日志來(lái)發(fā)現(xiàn)入侵前兆,或者來(lái)發(fā)現(xiàn)服務(wù)器是否被掃描。打開(kāi)日志文件,我們能夠得到類(lèi)似這樣的掃描記錄(以Unicode漏洞舉例):
2002-03-10 05:42:27 192.168.1.2 - 192.168.1.1 80 HEAD /script/..卡../..卡../..
卡../winnt/system32/cmd.exe /c+dir 404 -
2002-03-10 05:42:28 192.168.1.2 - 192.168.1.1 80
GET /script/..?../..?../..?../winnt/system32/cmd.exe /c+dir 404 -
需要注意類(lèi)似這樣的內(nèi)容:
/script/..?../..?../..?../winnt/system32/cmd.exe /c+dir 404
如果是正常用戶(hù),那么他是不會(huì)發(fā)出這樣的請(qǐng)求的,這些是利用IIS的Unicode漏洞掃描的結(jié)果。后面的404表示并沒(méi)有這樣的漏洞。如果出現(xiàn)的是200,那么說(shuō)明存在Unicode漏洞,也說(shuō)明它已經(jīng)被別人掃描到了或者已經(jīng)被人利用了。不管是404或者200,這些內(nèi)容出現(xiàn)在日志中,都表示有人在掃描(或者利用)服務(wù)器的漏洞,這就是入侵前兆。日志也記錄下掃描者的來(lái)源:192.168.1.2這個(gè)IP地址。
再比如這個(gè)日志:
2002-03-10 06:17:50 192.168.1.2 - 192.168.1.1 80 HEAD / - 400 -
這是一個(gè)使用HEAD請(qǐng)求來(lái)掃描WWW服務(wù)器軟件類(lèi)型的記錄,攻擊者能夠通過(guò)了解WWW使用的軟件來(lái)選擇掃描工具掃描的范圍。
IIS通常都能夠記錄下所有的請(qǐng)求,這里面包含很多正常用戶(hù)的請(qǐng)求記錄,這也讓IIS的日志文件變得非常龐大,上十兆或者更大,人工瀏覽分析就變得不可取。這時(shí)可以使用一些日志分析軟件,幫助日志分析;蛘呤褂孟旅孢@個(gè)簡(jiǎn)單的命令來(lái)檢查是否有Unicode漏洞的掃描事件存在:
find /I "winnt/system32/cmd.exe" C:logex020310.log
“find”這個(gè)命令就是在文件中搜索字符串的。我們可以根據(jù)掃描工具或者漏洞情況建立一個(gè)敏感字符串列表,比如“HEAD”、“cmd.exe”(Unicode漏洞)、“.ida”“.idq”(IDA/IDQ遠(yuǎn)程溢出漏洞)、“.printer”(Printer遠(yuǎn)程溢出漏洞)等等。
二、對(duì)于FTP等服務(wù)入侵的前兆檢測(cè)
根據(jù)前面對(duì)于WWW服務(wù)入侵前兆的檢測(cè),我們可以照樣來(lái)檢測(cè)FTP或者其他服務(wù)(POP、SMTP等)。以FTP服務(wù)來(lái)舉例,對(duì)于FTP服務(wù),通常最初的掃描或者入侵必然是進(jìn)行帳號(hào)的猜解。對(duì)于IIS提供的FTP服務(wù),也跟WWW服務(wù)一樣提供了詳盡的日志記錄(如果使用其他的FTP服務(wù)軟件,它們也應(yīng)該有相應(yīng)的日志記錄)。
我們來(lái)分析這些日志:
2002-03-10 06:41:19 192.168.21.130 administrator [36]USER administrator 331
2002-03-10 06:41:19 192.168.21.130 - [36]PASS - 530
這表示用戶(hù)名administrator請(qǐng)求登錄,但是登錄失敗了。當(dāng)在日志中出現(xiàn)大量的這些登錄失敗的記錄,說(shuō)明有人企圖進(jìn)行FTP的帳號(hào)猜解。這就是從FTP服務(wù)來(lái)入侵的入侵前兆。
分析這些日志的方法也跟前面分析WWW服務(wù)的日志方法類(lèi)似。因?yàn)镕TP并不能進(jìn)行帳號(hào)的枚舉,所以,如果發(fā)現(xiàn)有攻擊者猜測(cè)的用戶(hù)名正好和你使用的帳號(hào)一致,那么就需要修改帳號(hào)并加強(qiáng)密碼長(zhǎng)度。
三、系統(tǒng)帳號(hào)密碼猜解入侵的前兆檢測(cè)
對(duì)于Windows 2003服務(wù)器來(lái)說(shuō),一個(gè)很大的威脅也來(lái)自系統(tǒng)帳號(hào)密碼的猜解,因?yàn)槿绻渲貌患训姆⻊?wù)器允許進(jìn)行空會(huì)話(huà)的建立,這樣,攻擊者能夠進(jìn)行遠(yuǎn)程的帳號(hào)枚舉等,然后根據(jù)枚舉得到的帳號(hào)進(jìn)行密碼的猜測(cè)。即使服務(wù)器拒絕進(jìn)行空會(huì)話(huà)的建立,攻擊者同樣能夠進(jìn)行系統(tǒng)帳號(hào)的猜測(cè),因?yàn)榛旧虾芏喾⻊?wù)器的系統(tǒng)管理員都使用administrator、admin、root等這樣的帳號(hào)名。那些黑客工具,比如“流光”等,就可以進(jìn)行這樣的密碼猜測(cè),通過(guò)常用密碼或者進(jìn)行密碼窮舉來(lái)破解系統(tǒng)帳號(hào)的密碼。
要檢測(cè)通過(guò)系統(tǒng)帳號(hào)密碼猜解的入侵,需要設(shè)置服務(wù)器安全策略,在審核策略中進(jìn)行記錄,需要審核記錄的基本事件包括:審核登錄事件、審核帳戶(hù)登錄事件、帳戶(hù)管理事件。審核這些事件的“成功、失敗”,然后我們可以從事件查看器中的安全日志查看這些審核記錄。
比如:如果我們?cè)诎踩罩局邪l(fā)現(xiàn)了很多失敗審核,就說(shuō)明有人正在進(jìn)行系統(tǒng)帳號(hào)的猜解。我們查看其中一條的詳細(xì)內(nèi)容,可以看到:
登錄失。
原因:用戶(hù)名未知或密碼錯(cuò)誤
用戶(hù)名:administrator
域:ALARM
登錄類(lèi)型:3
登錄過(guò)程:NtLmSsp
身份驗(yàn)證程序包:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
工作站名:REFDOM
進(jìn)行密碼猜解的攻擊者打算猜測(cè)系統(tǒng)帳號(hào)administrator的密碼,攻擊者的來(lái)源就是工作站名:REFDOM,這里記錄是攻擊者的計(jì)算機(jī)名而不是他的IP地址。
當(dāng)我們發(fā)現(xiàn)有人打算進(jìn)行密碼猜解的時(shí)候,就需要對(duì)相應(yīng)的配置和策略進(jìn)行修改。比如:對(duì)IP地址進(jìn)行限制、修改被猜解密碼的帳號(hào)的帳號(hào)名、加強(qiáng)帳號(hào)密碼的長(zhǎng)度等等來(lái)應(yīng)對(duì)這樣的入侵。
四、終端服務(wù)入侵的前兆檢測(cè)
Windows2003 提供終端控制服務(wù)(Telminal Service),它是一個(gè)基于遠(yuǎn)程桌面協(xié)議(RDP)的工具,方便管理員進(jìn)行遠(yuǎn)程控制,是一個(gè)非常好的遠(yuǎn)程控制工具。終端服務(wù)使用的界面化控制讓管理員使用起來(lái)非常輕松而且方便,速度也非常快,這一樣也讓攻擊者一樣方便。而且以前終端服務(wù)存在輸入法漏洞,可以繞過(guò)安全檢查獲得系統(tǒng)權(quán)限。對(duì)于打開(kāi)終端服務(wù)的服務(wù)器來(lái)說(shuō),很多攻擊者喜歡遠(yuǎn)程連接,看看服務(wù)器的樣子(即使他們根本沒(méi)有帳號(hào))。
對(duì)終端服務(wù)進(jìn)行的入侵一般在系統(tǒng)帳號(hào)的猜解之后,攻擊者利用猜解得到的帳號(hào)進(jìn)行遠(yuǎn)程終端連接和登錄。
在管理工具中打開(kāi)遠(yuǎn)程控制服務(wù)配置,點(diǎn)擊"連接",右擊你想配置的RDP服務(wù)(比如 RDP-TCP(Microsoft RDP 5.0),選中書(shū)簽"權(quán)限",點(diǎn)擊"高級(jí)",加入一個(gè)Everyone組,代表所有的用戶(hù),然后審核他的"連接"、"斷開(kāi)"、"注銷(xiāo)"的成功和"登錄"的成功和失敗,這個(gè)審核是記錄在安全日志中的,可以從"管理工具"->"日志查看器"中查看。但是這個(gè)日志就象前面的系統(tǒng)密碼猜解那樣,記錄的是客戶(hù)端機(jī)器名而不是客戶(hù)端的IP地址。我們可以做一個(gè)簡(jiǎn)單的批處理bat文件(文件名為T(mén)erminalLog.bat),用它來(lái)記錄客戶(hù)端的IP,文件內(nèi)容是:
time /t >>Terminal.log
netstat -n -p tcp | find ":3389">>Terminal.log
start Explorer
端服務(wù)使用的端口是TCP 3389,文件第一行是記錄用戶(hù)登錄的時(shí)間,并把這個(gè)時(shí)間記入文件Terminal.log中作為日志的時(shí)間字段;第二行是記錄用戶(hù)的IP地址,使用netstat來(lái)顯示當(dāng)前網(wǎng)絡(luò)連接狀況的命令,并把含有3389端口的記錄到日志文件中去。這樣就能夠記錄下對(duì)方建立3389連接的IP地址了。
要設(shè)置這個(gè)程序運(yùn)行,可以在終端服務(wù)配置中,登錄腳本設(shè)置指定TerminalLOG.bat作為用戶(hù)登錄時(shí)需要打開(kāi)的腳本,這樣每個(gè)用戶(hù)登錄后都必須執(zhí)行這個(gè)腳本,因?yàn)槟J(rèn)的腳本是Explorer(資源管理器),所以在Terminal.bat的最后一行加上了啟動(dòng)Explorer的命令start Explorer,如果不加這一行命令,用戶(hù)是沒(méi)有辦法進(jìn)入桌面的。當(dāng)然,可以把這個(gè)腳本寫(xiě)得更加強(qiáng)大,但是請(qǐng)把日志記錄文件放置到安全的目錄中去。
通過(guò)Terminal.log文件記錄的內(nèi)容,配合安全日志,我們就能夠發(fā)現(xiàn)通過(guò)終端服務(wù)的入侵事件或者前兆了。
對(duì)于Windows2003服務(wù)器來(lái)說(shuō),上面四種入侵是最常見(jiàn)的,也占入侵Windows2003事件的絕大多數(shù)。從上面的分析,我們能夠及時(shí)地發(fā)現(xiàn)這些入侵的前兆,根據(jù)這些前兆發(fā)現(xiàn)攻擊者的攻擊出發(fā)點(diǎn),然后采取相應(yīng)的安全措施,以杜絕攻擊者入侵。
我們也可以從上面分析認(rèn)識(shí)到,服務(wù)器的安全配置中各種日志記錄和事件審核的重要性。這些日志文件在被入侵后是攻擊者的重要目標(biāo),他們會(huì)刪除和修改記錄,以便抹掉他們的入侵足跡。因此,對(duì)于各種日志文件,我們更應(yīng)該好好隱藏并設(shè)置權(quán)限等保護(hù)起來(lái)。同時(shí),僅僅記錄日志而不經(jīng)常性地查看和分析,那么所有的工作就等于白做了。
在安全維護(hù)中,系統(tǒng)管理員應(yīng)該保持警惕,并熟悉黑客使用的入侵手段,做好入侵前兆的檢測(cè)和分析,這樣才能未雨綢繆,阻止入侵事件的發(fā)生。