在這里,我為大家介紹一下兩種常見的網頁服務器中最重要的記錄文件,分析服務器遭到攻擊后,黑客在記錄文件中會留下什么記錄。目前最常見的網頁服務器有兩種:Apache和微軟的Internet Information Server(簡稱IIS),這兩種服務器都有一般版本和SSL認證版本。本文將使用和現實黑客的攻擊手段類似的攻擊方法去測試服務器并分析相關文件,有條件的朋友可在自己的機器上測試。
IIS的預設記錄文件地址在C:/winnt/system32/logfiles/w3svc1目錄下,文件名是當天的日期,如yymmdd.log,系統會每天產生新的記錄文件。預設的格式是W3C延伸記錄文件格式(W3C Extended Log File Format),很多相關軟件都可以分析這種格式的檔案。記錄文件在預設的狀況下會記錄時間、客戶端IP地址、Method(GET、POST等)、URI stem(要求的資源)和HTTP狀態(數字狀態代碼)。這些字段大部分都一看就懂,只是HTTP狀態需要有大概的了解。 小知識:一般而言,如果代碼是在200到299代表成功。常見的200狀態碼代表符合客戶端的要求;300到399代表必須由客戶端采取動作才能滿足所提出的要求;400到499和500到599代表客戶端和服務器有問題。最常見的狀態代碼有兩個,一個是404,代表客戶端要求的資源不在服務器上,403代表的是所要求的資源拒絕服務。 Apache記錄文件的預設儲存位置在/usr/local/apache/logs,最有價值的記錄文件是Access_log,不過 SSL_request_log和SSL_engine_log也能提供有用的資料。 Access_log記錄文件有七個字段,包括客戶端IP地址、特殊人物識別符、用戶名稱、日期、Method Resource Protocol(GET、POST等;要求哪些資源;協議版本)、HTTP狀態、還有傳輸的字節。 常規探測手段的記錄分析 網頁服務器版本是很重要的信息,黑客一般先向網頁服務器提出要求,讓服務器送回本身的版本信息:只要把「HEAD / HTTP/1.0」這個字符串用常見的Netcat utility(相關資料網址
http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相關資料網址
http://www.openssl.org/)送到開放服務器的通訊端口就成了。注意看下面的示范: C:>nc -n 10.0.2.55 80 HEAD / HTTP/1.0 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Sun, 08 Mar 2004 14:31:00 GMT Content-Type: text/html Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/ Cache-control: private 這種形式的要求在IIS和Apache的記錄文件中會生成以下記錄: IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200 Linux: 11.1.2.80 - - [08/Mar/2004:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0 雖然這類要求合法,看似很平常,不過卻常常是網絡攻擊的前奏曲。Access_log和IIS的記錄文件沒有表明這個要求是連到SSL服務器還是一般的網頁服務器,可是Apache的 SSL_request_log和SSL_engine_log(在/usr/local/apache/logs目錄下)記錄文件就會記錄是否有聯機到SSL服務器。請看以下的SSL_request_log記錄文件: [07/Mar/2004:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0 第三和第四個字段表示客戶端使用的是哪種加密方式,以下的SSL_request_log分別記錄從OpenSSL、Internet Explorer和Netscape客戶端程序發出的要求: [07/Mar/2004:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692 [07/Mar/2004:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692
新聞熱點
疑難解答