史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-07-23, 02:49 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Win2000 Server入侵監測揭秘

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



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

  入侵檢測指的是利用Win2000 Server自身的功能及系統管理員自己編寫的軟體/指令碼進行的檢測,使用防火牆(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、 註冊表校驗

  一般來說,木馬或者後門都會利用註冊表來再次執行自己,所以,校驗註冊表來發現入侵也是常用的手法之一。一般來說,如果一個入侵者只懂得使用流行的木馬,那麼由於普通木馬只能寫入特定的幾個鍵值(比如Run、Runonce等等),搜尋起來是相對容易的,但是對於可以自己編寫/改寫木馬的人來說,註冊表的任何地方都可以藏身,靠手工搜尋就沒有可能了。(註冊表藏身千變萬化,例如需要特別提出來的FakeGina技術,這種利用WINNT外嵌登入DLL(Ginadll)來獲得用戶密碼的方法最近比較流行,一旦中招,登入用戶的密碼就會被記錄無遺,具體的預防方法我這裡就不介紹了。)應對的方法是監控註冊表的任何改動,這樣改寫註冊表的木馬就沒有辦法遁形了。監控註冊表的軟體非常多,很多追查木馬的軟體都帶有這樣的功能,一個監控軟體加上定期對註冊表進行制作備份,萬一註冊表被非授權修改,系統管理員也能在最短的時間內恢復。

  6、連接阜監控

  雖然說不使用連接阜的木馬已經出現,但是大部分的後門和木馬還是使用TCP連接的,監控連接阜的狀況對於由於種種原因不能封鎖連接阜的主機來說就是非常重要的了,我們這裡不談使用NDIS網路卡進階編程的IDS系統,對於系統管理員來說,瞭解自己伺服器上開放的連接阜甚至比對工作的監控更加重要,常常使用netstat檢視伺服器的連接阜狀況是一個良好的習慣,但是並不能24小時這樣做,而且NT的安全日誌有一個壞習慣,喜歡記錄機器名而不是IP,如果你既沒有防火牆又沒有入侵檢測軟體,倒是可以用指令碼來進行IP日誌記錄的,看著這個指令:

  netstat -n -p tcp 10>>Netstat.log,這個指令每10秒鐘自動檢視一次TCP的連接狀況,關於這個指令我們做一個Netlog.bat文件:

  time /t>>Netstat.log
  Netstat -n -p tcp 10>>Netstat.log

  這個指令碼將會自動記錄時間和TCP連接狀態,需要注意的是:如果網站訪問量比較大,這樣的操作是需要消耗一定的CPU時間的,而且日誌文件將越來越大,所以請慎之又慎。(要是做個指令碼就完美無缺,誰去買防火牆?:)

  一旦發現異常的連接阜,可以使用特殊的程序來關聯連接阜、可執行文件和工作(如inzider就有這樣的功能,它可以發現伺服器監聽的連接阜並找出與該連接阜關聯的文件),這樣無論是使用TCP還是UDP的木馬都無處藏身。
7、終端服務的日誌監控

  單獨將終端服務(Terminal Service)的日誌監控分列出來是有原因的,微軟Win2000伺服器版中自帶的終端服務Terminal Service是一個關於遠端桌面傳輸協定(RDP)的工具,它的速度非常快,也很穩定,可以成為一個很好的遠端管理軟體,但是因為這個軟體功能強大而且只受到密碼的保護,所以也非常的危險,一旦入侵者擁有了管理員密碼,就能夠象本機一樣操作遠端伺服器(不需要高深的NT指令行技巧,不需要編寫特殊的指令碼和程序,只要會用滑鼠就能進行一切系統管理操作,實在是太方便、也實在是太可怕了)。雖然很多人都在使用終端服務來進行遠端管理,但是,並不是人人都知道如何對終端服務進行稽核,大多數的終端伺服器上並沒有開啟終端登入的日誌,其實開啟日誌稽核是很容易的,在系統管理工具中開啟遠端控制服務配置(Terminal Service Configration),點擊"連接",右擊你想配置的RDP服務(比如 RDP-TCP(Microsoft RDP 5.0),選書籤"權限",點擊左下角的"進階",看見上面那個"稽核"了麼?我們來加入一個Everyone組,這代表所有的用戶,然後稽核他的"連接"、"中斷連線"、"登出"的成功和"登入"的成功和失敗就足夠了,稽核太多了反而不好,這個稽核是記錄在安全日誌中的,可以從"系統管理工具"->"日誌檢視器"中檢視。現在什麼人什麼時候登入我都一清二楚了,可是美中不足的是:這個破爛玩藝居然不記錄客戶端的IP(只能檢視在線用戶的IP),而是華而不實的記錄什麼機器名,倒!要是別人起個PIG的機器名你只好受他的嘲弄了,不知道微軟是怎麼想的,看來還是不能完全依賴微軟呀,我們自己來吧?寫個程序,一切搞定,你會C麼?不會?VB呢?也不會?Delphi?……什麼?你什麼編程語言都不會?我倒,畢竟系統管理員不是程序員呀,別急別急,我給你想辦法,我們來建立一個bat文件,叫做TSLog.bat,這個文件用來記錄登入者的IP,內容如下:

  time /t >>TSLog.log
  netstat -n -p tcp | find ":3389">>TSLog.log
  start Explorer

  我來解釋一下這個文件的含義:

  第一行是記錄用戶登入的時間,time /t的意思是直接返回系統時間(如果不加/t,系統會等待你輸入新的時間),然後我們用追加符號">>"把這個時間記入TSLog.log作為日誌的時間字段;

  第二行是記錄用戶的IP位址,netstat是用來顯示當前網路連接狀況的指令,-n表示顯示IP和連接阜而不是域名、傳輸協定,-ptcp是只顯示tcp傳輸協定,然後我們用管道符號"|"把這個指令的結果輸出給find指令,從輸出結果中搜尋包含":3389"的行(這就是我們要的客戶的IP所在的行,如果你更改了終端服務的連接阜,這個數值也要作相應的更改),最後我們同樣把這個結果重轉發IP到日誌文件TSLog.log中去,於是在SLog.log文件中,記錄格式如下:

  22:40
  TCP  192.168.12.28:3389  192.168.10.123:4903   ESTABLISHED
  22:54
  TCP  192.168.12.28:3389   192.168.12.29:1039   ESTABLISHED

  也就是說只要這個TSLog.bat文件一執行,所有連在3389連接阜上的IP都會被記錄,那麼如何讓這個批次處理文件自動執行呢?我們知道,終端服務允許我們為用戶自訂起始的程序,在終端服務配置中,我們覆蓋用戶的登入指令碼設定並指定TSLog.bat為用戶登入時需要開啟的指令碼,這樣每個用戶登入後都必須執行這個指令碼,因為預設的指令碼(相當於shell環境)是Explorer(檔案總管),所以我在TSLog.bat的最後一行加上了啟動Explorer的指令startExplorer,如果不加這一行指令,用戶是沒有辦法進入桌面的!當然,如果你只需要給用戶特定的Shell:

  例如cmd.exe或者word.exe你也可以把start Explorer替換成任意的shell。這個指令碼也可以有其他的寫法,作為系統管理員,你完全可以自由發揮你的想像力、自由利用自己的資源,例如寫一個指令碼把每個登入用戶的IP傳送到自己的信箱對於重要的伺服器也是一個很好的方法。正常情況下一般的用戶沒有檢視終端服務設定的權限,所以他不會知道你對登入進行了IP稽核,只要把TSLog.bat文件和TSLog.log文件放在比較隱蔽的目錄裡就足夠了,不過需要注意的是這只是一個簡單的終端服務日誌原則,並沒有太多的安全保障措施和權限機制,如果伺服器有更高的安全要求,那還是需要通過編程或購買入侵監測軟體來完成的。
8、陷阱技術

  早期的陷阱技術只是一個偽裝的連接阜服務用來監測掃瞄,隨著矛和盾的不斷昇級,現在的陷阱服務或者陷阱主機已經越來越完善,越來越像真正的服務,不僅能截獲半開式掃瞄,還能偽裝服務的回應並記錄入侵者的行為,從而說明 判斷入侵者的身份。

  我本人對於陷阱技術並不是非常感興趣,一來從技術人員角度來說,低調行事更符合安全的原則;二來陷阱主機反而成為入侵者跳板的情況並不僅僅出現在小說中,在現實生活中也屢見不鮮,如果架設了陷阱反而被用來入侵,那真是偷雞不成了。

  記得CoolFire說過一句話,可以用來作為對陷阱技術介紹的一個結束:在不瞭解情況時,不要隨便進入別人的系統,因為你永遠不能事先知道系統管理員是真的白癡或者偽裝成白癡的天才......

  入侵監測的初步介紹就到這裡,在實際運用中,系統管理員對基礎知識掌握的情況直接關係到他的安全敏感度,只有身經百戰而又知識豐富、仔細小心的系統管理員才能從一點點的蛛絲馬跡中發現入侵者的影子,未雨綢繆,扼殺入侵的行動。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
資訊 - 9X、2000、XP、2003所有註冊表設定(很全很詳細) psac 作業系統操作技術文件 6 2006-09-30 04:09 PM
收集了一些常用的註冊表修改實例,分享給大家。 psac 作業系統操作技術文件 0 2006-05-15 01:27 AM
三大操作系統金剛,他們的胃口有多大?] psac 應用軟體使用技術文件 9 2003-10-11 10:22 PM
限制 Windows伺服器IPC$的遠端預設分享 psac 網路軟硬體架設技術文件 2 2003-07-28 01:20 PM
Win2000 操作技巧 psac 作業系統操作技術文件 2 2003-07-10 07:24 PM


所有時間均為台北時間。現在的時間是 07:12 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1