1. 程式人生 > >Windows系統日誌檔案分析

Windows系統日誌檔案分析

日誌檔案,它記錄著Windows系統及其各種服務執行的每個細節,對增強Windows的穩定和安全性,起著非常重要的作用。但許多使用者不注意對它保護,一些“不速之客”很輕易就將日誌檔案清空,給系統帶來嚴重的安全隱患。
  一、什麼是日誌檔案
  日誌檔案是Windows系統中一個比較特殊的檔案,它記錄著Windows系統中所發生的一切,如各種系統服務的啟動、執行、關閉等資訊。Windows日誌包括應用程式、安全、系統等幾個部分,它的存放路徑是“%systemroot%system32config”,應用程式日誌、安全日誌和系統日誌對應的檔名為AppEvent.evt、SecEvent.evt和SysEvent.evt。這些檔案受到“Event Log(事件記錄)”服務的保護不能被刪除,但可以被清空。
  二、如何檢視日誌檔案
  在Windows系統中檢視日誌檔案很簡單。點選“開始→設定→控制面板→管理工具→事件檢視器”,在事件檢視器視窗左欄中列出本機包含的日誌型別,如應用程式、安全、系統等。檢視某個日誌記錄也很簡單,在左欄中選中某個型別的日誌,如應用程式,接著在右欄中列出該型別日誌的所有記錄,雙擊其中某個記錄,彈出“事件屬性”對話方塊,顯示出該記錄的詳細資訊,這樣我們就能準確的掌握系統中到底發生了什麼事情,是否影響Windows的正常執行,一旦出現問題,即時查詢排除。
  三、Windows日誌檔案的保護
  日誌檔案對我們如此重要,因此不能忽視對它的保護,防止發生某些“不法之徒”將日誌檔案清洗一空的情況。
  1、修改日誌檔案存放目錄
  Windows日誌檔案預設路徑是“%systemroot%system32config”,我們可以通過修改登錄檔來改變它的儲存目錄,來增強對日誌的保護。
  點選“開始→執行”,在對話方塊中輸入“Regedit”,回車後彈出登錄檔編輯器,依次展開“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog”後,下面的Application、Security、System幾個子項分別對應應用程式日誌、安全日誌、系統日誌。
  以應用程式日誌為例,將其轉移到“d:cce”目錄下。選中Application子項(如圖),在右欄中找到File鍵,其鍵值為應用程式日誌檔案的路徑“%SystemRoot%system32configAppEvent.Evt”,將它修改為“d:cceAppEvent.Evt”。接著在D盤新建“CCE”目錄,將“AppEvent.Evt”拷貝到該目錄下,重新啟動系統,完成應用程式日誌檔案存放目錄的修改。其它型別日誌檔案路徑修改方法相同,只是在不同的子項下操作。
  2. 設定檔案訪問許可權
  修改了日誌檔案的存放目錄後,日誌還是可以被清空的,下面通過修改日誌檔案訪問許可權,防止這種事情發生,前提是Windows系統要採用NTFS檔案系統格式。
  右鍵點選D盤的CCE目錄,選擇“屬性”,切換到“安全”標籤頁後,首先取消“允許將來自父系的可繼承許可權傳播給該物件”選項勾選。接著在賬號列表框中選中“Everyone”賬號,只給它賦予“讀取”許可權;然後點選“新增”按鈕,將“System”賬號新增到賬號列表框中,賦予除“完全控制”和“修改”以外的所有許可權,最後點選“確定”按鈕。這樣當用戶清除Windows日誌時,就會彈出錯誤對話方塊。
  四、Windows日誌例項分析
  在Windows日誌中記錄了很多操作事件,為了方便使用者對它們的管理,每種型別的事件都賦予了一個惟一的編號,這就是事件ID。
  1. 檢視正常開關機記錄
  在Windows系統中,我們可以通過事件檢視器的系統日誌檢視計算機的開、關機記錄,這是因為日誌服務會隨計算機一起啟動或關閉,並在日誌中留下記錄。這裡我們要介紹兩個事件ID“6006和6005”。6005表示事件日誌服務已啟動,如果在事件檢視器中發現某日的事件ID號為6005的事件,就說明在這天正常啟動了Windows系統。6006表示事件日誌服務已停止,如果沒有在事件檢視器中發現某日的事件ID號為6006的事件,就表示計算機在這天沒有正常關機,可能是因為系統原因或者直接切斷電源導致沒有執行正常的關機操作。
  2. 檢視DHCP配置警告資訊
  在規模較大的網路中,一般都是採用DHCP伺服器配置客戶端IP地址資訊,如果客戶機無法找到DHCP伺服器,就會自動使用一個內部的IP地址配置客戶端,並且在Windows日誌中產生一個事件ID號為1007的事件。如果使用者在日誌中發現該編號事件,說明該機器無法從DHCP伺服器獲得資訊,就要檢視是該機器網路故障還是DHCP伺服器問題。
  五、WEB日誌檔案分析
  以下列日誌記錄為例,進行分析:
  #Software: Microsoft Internet Information Services 6.0
  #Version: 1.0
  #Date: 2006-09-24 07:19:27
  #Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /index.asp - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/css.css - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/1.gif - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/home_top_new2.jpg - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/2.gif - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  分析:
  date表示記錄訪問日期;
  time訪問時間;
  s-sitename表示你的虛擬主機的代稱。
  s-ip;服務端ip
  cs-method表示訪問方法,常見的有兩種,一是GET,就是平常我們開啟一個URL訪問的動作,二是POST,提交表單時的動作;
  cs-uri-stem就是訪問哪一個檔案;
  cs-uri-query是指訪問地址的附帶引數,如asp檔案後面的字串id=12等等,如果沒有引數則用-表示;
  s-port 訪問的埠
  cs-username 訪問者名稱
  c-ip訪問者IP
  cs(User-Agent)訪問來源;
  sc-status狀態,200表示成功,403表示沒有許可權,404表示打不到該頁面,500表示程式有錯;
  sc-substatus 服務端傳送到客戶端的位元組大小;
  cs–win32-statu客戶端傳送到服務端的位元組大小;
  1**:請求收到,繼續處理
  2**:操作成功收到,分析、接受
  3**:完成此請求必須進一步處理
  4**:請求包含一個錯誤語法或不能完成
  5**:伺服器執行一個完全有效請求失敗
  100——客戶必須繼續發出請求
  101——客戶要求伺服器根據請求轉換HTTP協議版本
  200——交易成功
  201——提示知道新檔案的URL
  202——接受和處理、但處理未完成
  203——返回資訊不確定或不完整
  204——請求收到,但返回資訊為空
  205——伺服器完成了請求,使用者代理必須復位當前已經瀏覽過的檔案
  206——伺服器已經完成了部分使用者的GET請求
  300——請求的資源可在多處得到
  301——刪除請求資料
  302——在其他地址發現了請求資料
  303——建議客戶訪問其他URL或訪問方式
  304——客戶端已經執行了GET,但檔案未變化
  305——請求的資源必須從伺服器指定的地址得到
  306——前一版本HTTP中使用的程式碼,現行版本中不再使用
  307——申明請求的資源臨時性刪除
  400——錯誤請求,如語法錯誤
  401——請求授權失敗
  402——保留有效ChargeTo頭響應
  403——請求不允許
  404——沒有發現檔案、查詢或URl
  405——使用者在Request-Line欄位定義的方法不允許
  406——根據使用者傳送的Accept拖,請求資源不可訪問
  407——類似401,使用者必須首先在代理伺服器上得到授權
  408——客戶端沒有在使用者指定的餓時間內完成請求
  409——對當前資源狀態,請求不能完成
  410——伺服器上不再有此資源且無進一步的參考地址
  411——伺服器拒絕使用者定義的Content-Length屬性請求
  412——一個或多個請求頭欄位在當前請求中錯誤
  413——請求的資源大於伺服器允許的大小
  414——請求的資源URL長於伺服器允許的長度
  415——請求資源不支援請求專案格式
  416——請求中包含Range請求頭欄位,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭欄位
  417——伺服器不滿足請求Expect頭欄位指定的期望值,如果是代理伺服器,可能是下一級伺服器不能滿足請求
  500——伺服器產生內部錯誤
  501——伺服器不支援請求的函式
  502——伺服器暫時不可用,有時是為了防止發生系統過載
  503——伺服器過載或暫停維修
  504——關口過載,伺服器使用另一個關口或服務來響應使用者,等待時間設定值較長
  505——伺服器不支援或拒絕支請求頭中指定的HTTP版本
  FTP日誌分析
  FTP日誌和WWW日誌在預設情況下,每天生成一個日誌檔案,包含了該日的一切記錄,檔名通常為ex(年份)(月份)(日期)。例如ex040419,就是2004年4月19日產生的日誌,用記事本可直接開啟,普通的有入侵行為的日誌一般是這樣的:
  #Software: Microsoft Internet Information Services 5.0(微軟IIS5.0)
  #Version: 1.0 (版本1.0)
  #Date: 20040419 0315 (服務啟動時間日期)
  #Fields: time cip csmethod csuristem scstatus
  0315 127.0.0.1 [1]USER administator 331(IP地址為127.0.0.1使用者名稱為administator試圖登入)
  0318 127.0.0.1 [1]PASS – 530(登入失敗)
  032:04 127.0.0.1 [1]USER nt 331(IP地址為127.0.0.1使用者名稱為nt的使用者試圖登入)
  032:06 127.0.0.1 [1]PASS – 530(登入失敗)
  032:09 127.0.0.1 [1]USER cyz 331(IP地址為127.0.0.1使用者名稱為cyz的使用者試圖登入)
  0322 127.0.0.1 [1]PASS – 530(登入失敗)
  0322 127.0.0.1 [1]USER administrator 331(IP地址為127.0.0.1使用者名稱為administrator試圖登入)
  0324 127.0.0.1 [1]PASS – 230(登入成功)
  0321 127.0.0.1 [1]MKD nt 550(新建目錄失敗)
  0325 127.0.0.1 [1]QUIT – 550(退出FTP程式)
  從日誌裡就能看出IP地址為127.0.0.1的使用者一直試圖登入系統,換了四次使用者名稱和密碼才成功,管理員立即就可以得知這個IP至少有入侵企圖!而他的入侵時間、IP地址以及探測的使用者名稱都很清楚的記錄在日誌上。如上例入侵者最終是用Administrator使用者名稱進入的,那麼就要考慮此使用者名稱是不是密碼失竊?還是被別人利用?接下來就要想想系統出什麼問題了。