在日常服務器使用過程之中,任何一個站長都無法避免遭到各種各樣的惡意入侵。與此同時,如何正確的對可能造成破壞的入侵行為進行判斷和處理就顯得尤為重要。就常見的windows服務器系統會出現的各種入侵的前兆做出一個概述,以便做出相應的預防處理。
第一類 WWW入侵
對于常見的線上的開放服務器,www的web服務是最常見的服務之一。而基于80端口的入侵也是最普遍的。很多熱衷此事的愛好者都有編寫相應的script web腳本來進行入侵。
由于80端口屬于開放端口,面對的客戶量相當大,同時入侵的技術含量相對也比較低。所以導致此類型的入侵是所有類別里面最多的也是最頭疼的。
雖然80端口入侵和掃描很多,但是80端口的日志記錄也非常容易。IIS本身提供了相當強大的日志記錄功能。在這里我們就常見的掃描和入侵類似日志做出一個舉例、
2012-03-10 05:42:27 192.168.1.2 - 192.168.1.1 80 HEAD /script/..?../..?../..?../windows/system32/cmd.exe /c+dir 404 -
需要注意的就是類似/script/..?../..?../..?../windows/system32/cmd.exe的內容
如果正常用戶訪問,是不會發出這樣的訪問請求的,這類請求是利用iis的unicode漏洞掃描的結果。而日志行結尾的404表示此漏洞不存在。但是如果出現了這類日志,就表明服務器是在被人掃描漏洞,這就是入侵前兆。
再例如
2012-03-10 06:17:50 192.168.1.2 - 192.168.1.1 80 HEAD / - 400 -
這是一個使用HEAD請求來掃描WWW服務器軟件類型的記錄,攻擊者能夠通過了解WWW使用的軟件來選擇掃描工具掃描的范圍。
IIS通常都能夠記錄下所有訪問者的請求。包括正常的和非正常的訪問請求,如果網站流量很大,就會導致日志文件過大無法讀取
此時我們可以通過查找特定關鍵字來確定服務器是否存在相應的惡意掃描。并建立一個敏感字符串列表,比如“HEAD”、“cmd.exe” (Unicode漏洞)、“.ida”“.idq”(IDA/IDQ遠程溢出漏洞)、“.printer”(Printer遠程溢出漏洞)等等。
第二類 FTP燈服務入侵
根據前面對于WWW服務入侵前兆的檢測,我們可以照樣來檢測FTP或者其他服務(POP、SMTP等)。以FTP服務來舉例,對于FTP服務,通常最初的掃描或者入侵必然是進行帳號的猜解。對于IIS提供的FTP服務,也跟WWW服務一樣提供了詳盡的日志記錄(如果使用其他的FTP服務軟件,它們也應該有相應的日志記錄)。
我們來分析這些日志:
2012-03-10 06:41:19 192.168.21.130 administrator [36]USER administrator 331
2012-03-10 06:41:19 192.168.21.130 - [36]PASS - 530
這表示用戶名administrator請求登錄,但是登錄失敗了。當在日志中出現大量的這些登錄失敗的記錄,說明有人企圖進行FTP的帳號猜解。這就是從FTP服務來入侵的入侵前兆。
分析這些日志的方法也跟前面分析WWW服務的日志方法類似。因為FTP并不能進行帳號的枚舉,所以,如果發現有攻擊者猜測的用戶名正好和你使用的帳號一致,那么就需要修改帳號并加強密碼長度。
三、系統帳號密碼猜解入侵的前兆檢測
對于Windows 2003服務器來說,一個很大的威脅也來自系統帳號密碼的猜解,因為如果配置不佳的服務器允許進行空會話的建立,這樣,攻擊者能夠進行遠程的帳號枚舉等,然后根據枚舉得到的帳號進行密碼的猜測。即使服務器拒絕進行空會話的建立,攻擊者同樣能夠進行系統帳號的猜測,因為基本上很多服務器的系統管理員都使用 administrator、admin、root等這樣的帳號名。那些黑客工具,比如“流光”等,就可以進行這樣的密碼猜測,通過常用密碼或者進行密碼窮舉來破解系統帳號的密碼。
要檢測通過系統帳號密碼猜解的入侵,需要設置服務器安全策略,在審核策略中進行記錄,需要審核記錄的基本事件包括:審核登錄事件、審核帳戶登錄事件、帳戶管理事件。審核這些事件的“成功、失敗”,然后我們可以從事件查看器中的安全日志查看這些審核記錄。
比如:如果我們在安全日志中發現了很多失敗審核,就說明有人正在進行系統帳號的猜解。我們查看其中一條的詳細內容,可以看到:
登錄失敗:
原因:用戶名未知或密碼錯誤
用戶名:administrator
域:ALARM
登錄類型:3
登錄過程:NtLmSsp
身份驗證程序包:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
工作站名:REFDOM
進行密碼猜解的攻擊者打算猜測系統帳號administrator的密碼,攻擊者的來源就是工作站名:REFDOM,這里記錄是攻擊者的計算機名而不是他的IP地址。
當我們發現有人打算進行密碼猜解的時候,就需要對相應的配置和策略進行修改。比如:對IP地址進行限制、修改被猜解密碼的帳號的帳號名、加強帳號密碼的長度等等來應對這樣的入侵。
四、終端服務入侵的前兆檢測
Windows2003 提供終端控制服務(Telminal Service),它是一個基于遠程桌面協議(RDP)的工具,方便管理員進行遠程控制,是一個非常好的遠程控制工具。終端服務使用的界面化控制讓管理員使用起來非常輕松而且方便,速度也非常快,這一樣也讓攻擊者一樣方便。而且以前終端服務存在輸入法漏洞,可以繞過安全檢查獲得系統權限。對于打開終端服務的服務器來說,很多攻擊者喜歡遠程連接,看看服務器的樣子(即使他們根本沒有帳號)。
對終端服務進行的入侵一般在系統帳號的猜解之后,攻擊者利用猜解得到的帳號進行遠程終端連接和登錄。
在管理工具中打開遠程控制服務配置,點擊"連接",右擊你想配置的RDP服務(比如 RDP-TCP(Microsoft RDP 5.0),選中書簽"權限",點擊"高級",加入一個Everyone組,代表所有的用戶,然后審核他的"連接"、"斷開"、"注銷"的成功和"登錄"的成功和失敗,這個審核是記錄在安全日志中的,可以從"管理工具"->"日志查看器"中查看。但是這個日志就象前面的系統密碼猜解那樣,記錄的是客戶端機器名而不是客戶端的IP地址。我們可以做一個簡單的批處理bat文件(文件名為TerminalLog.bat),用它來記錄客戶端的IP,文件內容是:
time /t >>Terminal.log
netstat -n -p tcp | find ":3389">>Terminal.log
start Explorer
端服務使用的端口是TCP 3389,文件第一行是記錄用戶登錄的時間,并把這個時間記入文件Terminal.log中作為日志的時間字段;第二行是記錄用戶的IP地址,使用 netstat來顯示當前網絡連接狀況的命令,并把含有3389端口的記錄到日志文件中去。這樣就能夠記錄下對方建立3389連接的IP地址了。
要設置這個程序運行,可以在終端服務配置中,登錄腳本設置指定TerminalLOG.bat作為用戶登錄時需要打開的腳本,這樣每個用戶登錄后都必須執行這個腳本,因為默認的腳本是Explorer(資源管理器),所以在Terminal.bat的最后一行加上了啟動Explorer的命令 start Explorer,如果不加這一行命令,用戶是沒有辦法進入桌面的。當然,可以把這個腳本寫得更加強大,但是請把日志記錄文件放置到安全的目錄中去。
通過Terminal.log文件記錄的內容,配合安全日志,我們就能夠發現通過終端服務的入侵事件或者前兆了。
對于Windows2003服務器來說,上面四種入侵是最常見的,也占入侵Windows2003事件的絕大多數。從上面的分析,我們能夠及時地發現這些入侵的前兆,根據這些前兆發現攻擊者的攻擊出發點,然后采取相應的安全措施,以杜絕攻擊者入侵。
我們也可以從上面分析認識到,服務器的安全配置中各種日志記錄和事件審核的重要性。這些日志文件在被入侵后是攻擊者的重要目標,他們會刪除和修改記錄,以便抹掉他們的入侵足跡。因此,對于各種日志文件,我們更應該好好隱藏并設置權限等保護起來。同時,僅僅記錄日志而不經常性地查看和分析,那么所有的工作就等于白做了。
在安全維護中,系統管理員應該保持警惕,并熟悉黑客使用的入侵手段,做好入侵前兆的檢測和分析,這樣才能未雨綢繆,阻止入侵事件的發生。