如何通過Web伺服器記錄搜尋黑客攻擊
如何分析Web伺服器記錄,在眾多記錄裡搜尋黑客攻擊的蛛絲馬跡呢?
現今的網路,安全越來越受到大家的重視,在構建網路安全環境時,在技術手段,管理制度等方面都逐步加強,設定防火牆,安裝入侵檢測系統等等。但網路安全是個全方位的問題,忽略哪一點都會造成木桶效應,使得整個安全系統虛設。本文從分析
Web伺服器的logging記錄來找出漏洞,防範攻擊,從而加強Web伺服器安全。
Web服務是Internet所提供最多,最豐富的服務,各種Web伺服器自然也是受到攻擊最多的,我們採用了很多措施來防止遭受攻擊和入侵,其中檢視Web伺服器的記錄是最直接,最常用,又比較有效的一種方法,但logging記錄很龐大,檢視logging記錄是很繁瑣的事情,如果抓不住重點,攻擊線索就容易被忽略。下面就對最流行的兩類Web伺服器:Apache和IIS做攻擊的實驗,然後在眾多的記錄中查到攻擊的蛛絲馬跡,從而採取適當的措施加強防範。
1、預設的web記錄
對於IIS,其預設記錄存放在c:\winnt\system32\logfiles\w3svc1,檔案名就是當天的日期,記錄格式是標準的W3C增強記錄格式,可以被各種記錄分析工具解析,預設的格式包括時間、訪問者IP位址、訪問的方法(GET or POST…)、請求的資源、HTTP狀態(用數位表示)等。對於其中的HTTP狀態,我們知道200-299表明訪問成功;300-399表明需要客戶端反應來滿足請求;400-499和500-599表明客戶端和伺服器出現錯誤;其中常用的如404表示資源沒找到,403表示訪問被禁止。
Apache的預設記錄存放在/usr/local/apache/logs,其中最有用的記錄文件是access_log,其格式包括客戶端IP、個人標示(一般為空)、用戶名(如果需要認證)、訪問方式(GET or POST…)、HTTP狀態、傳輸的字元數等。
2、收集訊息
我們模擬黑客攻擊伺服器的通常模式,先是收集訊息,然後通過遠端指令一步步實施入侵。我們使用的工具是netcat1.1 for windows,Web伺服器ip為10.22.1.100,客戶端IP為:10.22.1.80。
C:>nc -n 10.22.1.100 80
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Sun, 08 Oct 2002 14:31:00 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/
快取-control: private
在IIS和Apache的log裡顯示如下:
IIS: 15:08:44 10.22.1.80 HEAD /Default.asp 200
Linux: 10.22.1.80- - [08/Oct/2002:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0
以上的活動看上去很正常,也不會對伺服器產生任何影響,但這是通常攻擊的前奏。
3、Web站點映射
黑客經常映射一個站點來說明 攻擊伺服器,常用來映射的工具有Windows下的Teleport pro和Unix下的Wget。
下面我們看使用這兩個工具後在伺服器記錄裡的訊息:
16:28:52 10.22.1.80 GET /Default.asp 200
16:28:52 10.22.1.80 GET /robots.txt 404
16:28:52 10.22.1.80 GET /header_protecting_your_privacy.gif 200
16:28:52 10.22.1.80 GET /header_fec_reqs.gif 200
16:28:55 10.22.1.80 GET /photo_contribs_sidebar.jpg 200
16:28:55 10.22.1.80 GET /g2klogo_white_bgd.gif 200
16:28:55 10.22.1.80 GET /header_contribute_on_line.gif 200
16:49:01 10.22.1.81 GET /Default.asp 200
16:49:01 10.22.1.81 GET /robots.txt 404
16:49:01 10.22.1.81 GET /header_contribute_on_line.gif 200
16:49:01 10.22.1.81 GET /g2klogo_white_bgd.gif 200
16:49:01 10.22.1.81 GET /photo_contribs_sidebar.jpg 200
16:49:01 10.22.1.81 GET /header_fec_reqs.gif 200
16:49:01 10.22.1.81 GET /header_protecting_your_privacy.gif 200
10.22.1.80是使用Wget的Unix客戶端,10.22.1.81是使用Teleport pro的Windows客戶端,都請求robots.txt文件,Robots.txt是請求沒有被映射的文件時所要用到的。所以看到有對robots.txt文件的請求,表明有映射的企圖。當然,在Wget和Teleport pro客戶端,可以手動式禁止對robots.txt文件的訪問,這時,辨別方法可以看是否有從同一IP位址來的重複資源請求。
|