Windows 2000 Server入侵監測揭秘

來源:互聯網
上載者:User

Win2000 Server的安全配置,經過精心配置的Win2000伺服器可以防禦90%以上的入侵和滲透,但是,系統安全是一個連續的過程,隨著新漏洞的出現和伺服器應用的變化,系統的安全狀況也在不斷變化著;同時由於攻防是矛盾的統一體,道消魔長和魔消道長也在不斷的轉換中,因此,再高明的系統管理員也不能保證一台正在提供服務的伺服器長時間絕對不被入侵。

所以,安全設定管理員並不是安全工作的結束,相反卻是漫長乏味的安全工作的開始,我將初步探討Win2000伺服器入侵檢測的初步技巧,希望能協助您長期維護伺服器的安全。

入侵檢測指的是利用Win2000 Server自身的功能及系統管理員自己編寫的軟體/指令碼進行的檢測,使用_blank">防火牆(Firewall)或入侵監測系統(IDS)的技巧並不在本文的討論範圍之內。

現在假定:我們有一台Win2000 Server的伺服器,並且經過了初步的安全配置,在這種情況下,大部分的入侵者將被拒之門外。(哈哈,我管理員可以回家睡大覺去了)慢著,我說的是大部分,不是全部,經過初步安全配置的伺服器雖然可以防禦絕大多數的Script kid(指令碼族-只會用別人寫的程式入侵伺服器的人),遇到了真正的高手,還是不堪一擊的。雖然說真正的高手不會隨便進入別人的伺服器,但是也難保有幾個品行不端的邪派高手看上了你的伺服器。(我真的這麼衰嗎?)而且,在漏洞的發現與補丁的發布之間往往有一段時間的真空,任何知道漏洞資料的人都可以乘虛而入,這時,入侵檢測技術就顯得非常的重要。

入侵的檢測主要還是根據應用來進行,提供了相應的服務就應該有相應的檢測分析系統來進行保護,對於一般的主機來說,主要應該注意以下幾個方面:

1、基於80連接埠入侵的檢測

WWW服務大概是最常見的服務之一了,而且由於這個服務面對廣大使用者,服務的流量和複雜度都很高,所以針對這個服務的漏洞和入侵技巧也最多。對於NT來說,IIS一直是系統管理員比較頭疼的一部分(恨不得關了80連接埠),不過好在IIS內建的日誌功能從某種程度上可以成為入侵檢測的得力幫手。IIS內建的記錄檔預設存放在System32/LogFiles目錄下,一般是按24小時滾動的,在IIS管理器中可以對它進行詳細的配置。(具體怎麼配我不管你,不過你要是不詳細記錄,回頭查不到入侵者的IP可不要哭)

現在我們再假設(怎麼老是假設呀,煩不煩?)別急呀,我不能為了寫這篇文章真的去黑掉一台主機,所以只好假設了,我們假設一台WEB伺服器,開放了WWW服務,你是這台伺服器的系統管理員,已經小心地配置了IIS,使用W3C擴充的日誌格式,並至少記錄了時間(Time)、用戶端IP(Client IP)、方法(Method)、URI資源(URI Stem)、URI查詢(URI Query),協議狀態(Protocol Status),我們用最近比較流行的Unicode漏洞來進行分析:開啟IE的視窗,在地址欄輸入:127.0.0.1/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir 預設的情況下你可以看到目錄列表(什嗎?你已經做過安全配置了,看不到?恢複預設安裝,我們要做個實驗),讓我們來看看IIS的日誌都記錄了些什麼,開啟Ex010318.log(Ex代表W3C擴充格式,後面的一串數字代表日誌的記錄日期):07:42:58 127.0.0.1 GET /scripts/..\../winnt/system32\cmd.exe /c+dir 200上面這行日誌表示在格林威治時間07:42:58(就是北京時間23:42:58),有一個傢伙(入侵者)從127.0.0.1的IP在你的機器上利用Unicode漏洞(%c1%1c被解碼為"\",實際的情況會因為Windows語言版本的不同而有略微的差別)運行了cmd.exe,參數是/c dir,運行結果成功(HTTP 200代表正確返回)。(哇,記錄得可真夠全的,以後不敢隨便亂玩Unicode了)

大多數情況下,IIS的日誌會忠實地記錄它接收到的任何請求(也有特殊的不被IIS記錄的攻擊,這個我們以後再討論),所以,一個優秀的系統管理員應該擅長利用這點來發現入侵的企圖,從而保護自己的系統。但是,IIS的日誌動輒數十兆、流量大的網站甚至數十G,人工檢查幾乎沒有可能,唯一的選擇就是使用日誌分析軟體,用任何語言編寫一個日誌分析軟體(其實就是文本過濾器)都非常簡單,不過考慮到一些實際情況(比如管理員不會寫程式,或者伺服器上一時找不到日誌分析軟體),我可以告訴大家一個簡單的方法,比方說你想知道有沒有人從80連接埠上試圖取得你的Global.asa檔案,可以使用以下的CMD命令:find "Global.asa" ex010318.log /i這個命令使用的是NT內建的find.exe工具(所以不怕緊急情況找不著),可以輕鬆的從文字檔中找到你想過濾的字串,"Global.asa"是需要查詢的字串,ex010318.log是待過濾的文字檔,/i代表忽略大小寫。因為我無意把這篇文章寫成微軟的Help文檔,所以關於這個命令的其他參數以及它的增強版FindStr.exe的用法請去查看Win2000的協助檔案。

無論是基於日誌分析軟體或者是Find命令,你都可以建立一張敏感字串列表,包含已有的IIS漏洞(比如"+.htr")以及未來將要出現的漏洞可能會調用的資源(比如Global.asa或者cmd.exe),通過過濾這張不斷更新的字串表,一定可以儘早瞭解入侵者的行動。

需要提醒的是,使用任何日誌分析軟體都會佔用一定的系統資源,因此,對於IIS日誌分析這樣低優先順序的任務,放在夜裡空閑時自動執行會比較合適,如果再寫一段指令碼把過濾後的可疑文本發送給系統管理員,那就更加完美了。同時,如果敏感字串表較大,過濾策略複雜,我建議還是用C寫一個專用程式會比較合算。

2、基於安全日誌的檢測

通過基於IIS日誌的入侵監測,我們能提前知道窺伺者的行蹤(如果你處理失當,窺伺者隨時會變成入侵者),但是IIS日誌不是萬能的,它在某種情況下甚至不能記錄來自80連接埠的入侵,根據我對IIS日誌系統的分析,IIS只有在一個請求完成後才會寫入日誌,換言之,如果一個請求中途失敗,記錄檔中是不會有它的蹤影的(這裡的中途失敗並不是指發生HTTP400錯誤這樣的情況,而是從TCP層上沒有完成HTTP請求,例如在POST大量資料時異常中斷),對於入侵者來說,就有可能繞過日誌系統完成大量的活動。

而且,對於非80 Only的主機,入侵者也可以從其它的服務進入伺服器,因此,建立一套完整的安全監測系統是非常必要的。

Win2000內建了相當強大的安全日誌系統,從使用者登入到特權的使用都有非常詳細的記錄,可惜的是,預設安裝下安全性稽核是關閉的,以至於一些主機被黑後根本沒法追蹤入侵者。所以,我們要做的第一步是在管理工具-本地安全性原則-本地策略-稽核原則中開啟必要的審核,一般來說,登入事件與賬戶管理是我們最關心的事件,同時開啟成功和失敗審核非常必要,其他的審核也要開啟失敗審核,這樣可以使得入侵者步步維艱,一不小心就會露出馬腳。僅僅開啟安全性稽核並沒有完全解決問題,如果沒有很好的配置安全日誌的大小及覆蓋方式,一個老練的入侵者就能夠通過洪水般的偽造入侵請求覆蓋掉他真正的行蹤。通常情況下,將安全日誌的大小指定為50MB並且只允許覆蓋7天前的日誌可以避免上述情況的出現。

設定了安全日誌卻不去檢查跟沒有設定安全日誌幾乎一樣糟糕(唯一的優點是被黑了以後可以追查入侵者),所以,制定一個安全日誌的檢查機制也是非常重要的,作為安全日誌,推薦的檢查時間是每天上午,這是因為,入侵者喜歡夜間行動(速度快呀,要不你入侵到一半的時候連不上了,那可是哭都哭不出來)上午上班第一件事正好看看日誌有沒有異常,然後就可以放心去做其他的事了。如果你喜歡,也可以編寫指令碼每天把安全日誌作為郵件發送給你(別太相信這個了,要是哪個高手上去改了你的指令碼,每天發送"平安無事"……)

除了安全日誌,系統日誌和應用程式記錄檔也是非常好的輔助監測工具,一般來說,入侵者除了在安全日誌中留下痕迹(如果他拿到了Admin許可權,那麼他一定會去清除痕迹的),在系統和應用程式記錄檔中也會留下蛛絲馬跡,作為系統管理員,要有不放過任何異常的態度,這樣入侵者就很難隱藏他們的行蹤。

3、檔案訪問日誌與關鍵檔案保護

除了系統預設的安全性稽核外,對於關鍵的檔案,我們還要加設檔案訪問日誌,記錄對他們的訪問。

檔案訪問有很多的選項:訪問、修改、執行、建立、屬性更改......一般來說,關注訪問和修改就能起到很大的監視作用。

例如,如果我們監視了系統目錄的修改、建立,甚至部分重要檔案的訪問(例如cmd.exe,net.exe,system32目錄),那麼,入侵者就很難安放後門而不引起我們的注意,要注意的是,監視的關鍵檔案和項目不能太多,否則不僅增加系統負擔,還會擾亂日常的日誌監測工作
(哪個系統管理員有耐心每天看四、五千條垃圾日誌?)

關鍵檔案不僅僅指的是系統檔案,還包括有可能對系統管理員/其他使用者構成危害的任何檔案,例如系統管理員的配置、案頭檔案等等,這些都是有可能用來竊取系統管理員資料/密碼的。

4、進程監控

進程監控技術是追蹤木馬後門的另一個有力武器,90%以上的木馬和後門是以進程的形式存在的,作為系統管理員,瞭解伺服器上啟動並執行每個進程是職責之一(否則不要說安全,連繫統最佳化都沒有辦法做),做一份每台伺服器運行進程的列表非常必要,能協助管理員一眼就發現入侵進程,異常的使用者進程或者異常的資源佔用都有可能是非法進程。除了進程外,DLL也是危險的東西,例如把原本是exe類型的木馬改寫為dll後,使用rundll32運行就比較具有迷惑性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.