?? 入侵檢測(cè).txt
字號(hào):
入侵檢測(cè)初步
[Shotgun] / [2001年 15期]
--------------------------------------------------------------------------------
前面幾期報(bào)紙介紹了Win2000 Server的安全配置,經(jīng)過(guò)精心配置的Win2000服務(wù)器可以防御90%以上的入侵和滲透,但是,就象上一章結(jié)束時(shí)所提到的:系統(tǒng)安全是一個(gè)連續(xù)的過(guò)程,隨著新漏洞的出現(xiàn)和服務(wù)器應(yīng)用的變化,系統(tǒng)的安全狀況也在不斷變化著;同時(shí)由于攻防是矛盾的統(tǒng)一體,道消魔長(zhǎng)和魔消道長(zhǎng)也在不斷的轉(zhuǎn)換中,因此,再高明的系統(tǒng)管理員也不能保證一臺(tái)正在提供服務(wù)的服務(wù)器長(zhǎng)時(shí)間絕對(duì)不被入侵。
所以,安全配置服務(wù)器并不是安全工作的結(jié)束,相反卻是漫長(zhǎng)乏味的安全工作的開(kāi)始,本文我們將初步探討Win2000服務(wù)器入侵檢測(cè)的初步技巧,希望能幫助您長(zhǎng)期維護(hù)服務(wù)器的安全。
入侵的檢測(cè)主要還是根據(jù)應(yīng)用來(lái)進(jìn)行,提供了相應(yīng)的服務(wù)就應(yīng)該有相應(yīng)的檢測(cè)分析系統(tǒng)來(lái)進(jìn)行保護(hù),對(duì)于一般的主機(jī)來(lái)說(shuō),主要應(yīng)該注意以下幾個(gè)方面:
1.基于80端口入侵的檢測(cè)
WWW服務(wù)大概是最常見(jiàn)的服務(wù)之一了,而且由于這個(gè)服務(wù)面對(duì)廣大用戶,服務(wù)的流量和復(fù)雜度都很高,所以針對(duì)這個(gè)服務(wù)的漏洞和入侵技巧也最多。對(duì)于NT來(lái)說(shuō),IIS一直是系統(tǒng)管理員比較頭疼的一部分,不過(guò)好在IIS自帶的日志功能從某種程度上可以成為入侵檢測(cè)的得力幫手。IIS自帶的日志文件默認(rèn)存放在System32/LogFiles目錄下,一般是按24小時(shí)滾動(dòng)的,在IIS管理器中可以對(duì)它進(jìn)行詳細(xì)的配置。
我們假設(shè)一臺(tái)WEB服務(wù)器,開(kāi)放了WWW服務(wù),你是這臺(tái)服務(wù)器的系統(tǒng)管理員,已經(jīng)小心地配置了IIS,使用W3C擴(kuò)展的日志格式,并至少記錄了時(shí)間(Time)、客戶端IP(Client IP)、方法(Method)、URI資源(URI Stem)、URI查詢(URI Query),協(xié)議狀態(tài)(Protocol Status),我們用最近比較流行的Unicode漏洞來(lái)進(jìn)行分析:打開(kāi)IE的窗口,在地址欄輸入:127.0.0.1/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir默認(rèn)的情況下你可以看到目錄列表,讓我們來(lái)看看IIS的日志都記錄了些什么,打開(kāi)Ex010318.log(Ex代表W3C擴(kuò)展格式,后面的一串?dāng)?shù)字代表日志的記錄日期):07:42:58 127.0.0.1 GET /scripts/..\../winnt/system32\cmd.exe /c+dir 200上面這行日志表示在格林威治時(shí)間07:42:58(就是北京時(shí)間23:42:58),有一個(gè)家伙(入侵者)從127.0.0.1的IP在你的機(jī)器上利用Unicode漏洞(%c1%1c被解碼為“\”,實(shí)際的情況會(huì)因?yàn)閃indows版本的不同而有略微的差別)運(yùn)行了cmd.exe,參數(shù)是/c dir,運(yùn)行結(jié)果成功(HTTP 200代表正確返回)。
大多數(shù)情況下,IIS的日志會(huì)忠實(shí)地記錄它接收到的任何請(qǐng)求(也有特殊的不被IIS記錄的攻擊,這個(gè)我們以后再討論)。但是,IIS的日志動(dòng)輒數(shù)十兆、流量大的網(wǎng)站甚至數(shù)十G,人工檢查幾乎沒(méi)有可能,唯一的選擇就是使用日志分析軟件,用任何語(yǔ)言編寫(xiě)一個(gè)日志分析軟件(其實(shí)就是文本過(guò)濾器)都非常簡(jiǎn)單。
告訴大家一個(gè)簡(jiǎn)單的方法,比方說(shuō)你想知道有沒(méi)有人從80端口上試圖取得你的Global.asa文件,可以使用以下的命令:find “Global.asa” ex010318.log /i。這個(gè)命令使用的是NT自帶的find.exe工具,可以輕松的從文本文件中找到你想過(guò)濾的字符串,“Global.asa”是需要查詢的字符串,ex010318.log是待過(guò)濾的文本文件,/i代表忽略大小寫(xiě)。因?yàn)槲覠o(wú)意把這篇文章寫(xiě)成微軟的Help文檔,所以關(guān)于這個(gè)命令的其他參數(shù)以及它的增強(qiáng)版FindStr.exe的用法請(qǐng)去查看Win2000的幫助文件。
無(wú)論是基于日志分析軟件或者是Find命令,你都可以建立一張敏感字符串列表,包含已有的IIS漏洞(比如“+.htr”)以及未來(lái)將要出現(xiàn)的漏洞可能會(huì)調(diào)用的資源(比如Global.asa或者cmd.exe),通過(guò)過(guò)濾這張不斷更新的字符串表,一定可以盡早了解入侵者的行動(dòng)。
需要提醒的是,使用任何日志分析軟件都會(huì)占用一定的系統(tǒng)資源,因此,對(duì)于IIS日志分析這樣低優(yōu)先級(jí)的任務(wù),放在夜里空閑時(shí)自動(dòng)執(zhí)行會(huì)比較合適,如果再寫(xiě)一段腳本把過(guò)濾后的可疑文本發(fā)送給系統(tǒng)管理員,那就更加完美了。同時(shí),如果敏感字符串表較大,過(guò)濾策略復(fù)雜,我建議還是用C寫(xiě)一個(gè)專用程序會(huì)比較合算。
2.基于安全日志的檢測(cè)
通過(guò)基于IIS日志的入侵監(jiān)測(cè),我們能提前知道窺伺者的行蹤(如果你處理失當(dāng),窺伺者隨時(shí)會(huì)變成入侵者),但是IIS日志不是萬(wàn)能的,它在某種情況下甚至不能記錄來(lái)自80端口的入侵,根據(jù)我對(duì)IIS日志系統(tǒng)的分析,IIS只有在一個(gè)請(qǐng)求完成后才會(huì)寫(xiě)入日志,換言之,如果一個(gè)請(qǐng)求中途失敗,日志文件中是不會(huì)有它的蹤影的(這里的中途失敗并不是指發(fā)生HTTP400錯(cuò)誤這樣的情況,而是從TCP層上沒(méi)有完成HTTP請(qǐng)求,例如在POST大量數(shù)據(jù)時(shí)異常中斷),對(duì)于入侵者來(lái)說(shuō),就有可能繞過(guò)日志系統(tǒng)完成大量的活動(dòng)。
而且,對(duì)于非80 Only的主機(jī),入侵者也可以從其它的服務(wù)進(jìn)入服務(wù)器,因此,建立一套完整的安全監(jiān)測(cè)系統(tǒng)是非常必要的。
Win2000自帶了相當(dāng)強(qiáng)大的安全日志系統(tǒng),從用戶登錄到特權(quán)的使用都有非常詳細(xì)的記錄,可惜的是,默認(rèn)安裝下安全審核是關(guān)閉的,以至于一些主機(jī)被黑后根本沒(méi)法追蹤入侵者。所以,我們要做的第一步是在管理工具-本地安全策略-本地策略-審核策略中打開(kāi)必要的審核,一般來(lái)說(shuō),登錄事件與賬戶管理是我們最關(guān)心的事件,同時(shí)打開(kāi)成功和失敗審核非常必要,其他的審核也要打開(kāi)失敗審核,這樣可以使得入侵者步步維艱,一不小心就會(huì)露出馬腳。僅僅打開(kāi)安全審核并沒(méi)有完全解決問(wèn)題,如果沒(méi)有很好的配置安全日志的大小及覆蓋方式,一個(gè)老練的入侵者就能夠通過(guò)洪水般的偽造入侵請(qǐng)求覆蓋掉他真正的行蹤。通常情況下,將安全日志的大小指定為50MB并且只允許覆蓋7天前的日志可以避免上述情況的出現(xiàn)。
除了安全日志,系統(tǒng)日志和應(yīng)用程序日志也是非常好的輔助監(jiān)測(cè)工具,一般來(lái)說(shuō),入侵者除了在安全日志中留下痕跡(如果他拿到了Admin權(quán)限,那么他一定會(huì)去清除痕跡的),在系統(tǒng)和應(yīng)用程序日志中也會(huì)留下蛛絲馬跡,作為系統(tǒng)管理員,要有不放過(guò)任何異常的態(tài)度,這樣入侵者就很難隱藏他們的行蹤。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -