1. 程式人生 > >如何檢視伺服器日誌

如何檢視伺服器日誌

一、利用Windows自帶的防火牆日誌檢測入侵
  下面是一條防火牆日誌記錄
2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980
2005-01-1300:35:04:表示記錄的日期時間
OPEN:表示開啟連線;如果此處為Close表示關閉連線
TCP:表示使用的協議是Tcp
61.145.129.133:表示本地的IP
64.233.189.104:表示遠端的IP
4959:表示本地的埠
80:表示遠端的埠。注:如果此處的埠為非80、21等常用埠那你就要注意了。
  每一條Open表示的記錄對應的有一條CLOSE記錄,比較兩條記錄可以計算連線的時間。

  注意,要使用該項,需要在Windows自帶的防火牆的安全日誌選項中勾選“記錄成功的連線”選項。



  二、通過IIS日誌檢測入侵攻擊



1、認識IIS日誌
IIS日誌預設存放在System32\LogFiles目錄下,使用W3C擴充套件格式。下面我們通過一條日誌記錄來認識它的格式
2005-01-0316:44:57218.17.90.60GET/Default.aspx-80
-218.17.90.60Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322)20000

2005-01-0316:44:57:是表示記錄的時間;

218.17.90.60:表示主機的IP地址;

GET:表示獲取網頁的方法
/Default.aspx:表示瀏覽的網頁的名稱,如果此外的內容不是你網站網頁的名稱,那就表示可能有人在用注入
  式攻擊對你的網站進行測試。如:“/msadc/..蠟..蠟..蠟../winnt/system32/cmd.exe/c+dir”這段格式的
  文字出現在瀏覽的網頁後面就表示有攻擊者嘗試能否進入到你的系統目錄下。

-80:表示伺服器的埠。

-218.17.90.60:表示客戶機的IP地址。如果在某一時間或不同時間都有大量的同一IP對網站的連線那你
  就要注意了。

Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322):表示使用者的瀏覽器的版本
  作業系統的版本資訊

200:表示瀏覽成功,如果此處為304表示重定向。如果此處為404則表示客戶端錯誤未找到網頁,如果伺服器沒
  有問題但出現大量的404錯誤也表示可能有人在用注入式攻擊對你的網站進行測試。

2、檢測IIS日誌的方法
  明白了IIS日誌的格式,就可以去尋找攻擊者的行蹤了。但是人工檢查每一條資料幾乎是不可能的,所以
  我們可以利用Windows本身提供了一個命令findstr。下面以尋找05年1月1日日誌中包含CMD欄位為例演示
  一下它的用法。IIS日誌路徑已設為D\w3c
Cmd提示符下輸入:findstr"cmd"d\w3c\ex050101.log回車。怎麼同一個IP出現了很多,那你可要注意了!
  下面是我寫的幾個敏感字元,僅供參考,你可以根據自己系統、網頁定製自己的敏感字元,當然如果你根據
  這些字元作一個批處理命令就更方便了。
cmd、'、\\、..、;、and、webconfig、global、

  如果你感覺findstr功能不夠直觀強大,你可以AutoScanIISLogFilesV1.4工具。它使用圖形化介面
  一次可以檢測多個檔案。下載地址:http://www.11k.net/Software/View-Software-1585.html

  如果你感覺這些IIS日誌中的資訊記錄還不夠多,那麼你可以做一個隱藏網頁,凡是登陸到網站上都會先定向到
  該網頁,然後你可以在該網頁中新增程式碼,獲取使用者的IP、作業系統、計算機名等資訊。並將其輸入到資料庫
  中,這樣即使一個攻擊者使用動態的IP只要他不換系統,即使刪除了IIS日誌,你也可以把他找出來。



  三、通過檢視安全日誌檢測是否有成功的入侵

  如果你你啟用了登陸事件、策略更改、賬戶登陸、系統事件的成功失敗的稽核,那麼任何成功的入侵都將
  在安全日誌中留下痕跡

  推薦的作法:

1、建議每天最少檢查一次安全日誌。
  推薦重點檢查的ID事件
529:登入失敗,試圖使用未知使用者名稱或帶有錯誤密碼的已知使用者名稱進行登入。
528:使用者成功登入到計算機上。
539:登入失敗:登入帳號在登入嘗試時被鎖定。此事件表明有人發動密碼攻擊但未成功,因而導致賬戶鎖定

682:使用者重新連線到一個已經斷開連線的終端伺服器會話上。終端服務攻擊
683:使用者在沒有登出的情況下與終端伺服器會話斷開連線。終端服務攻擊

624:一個使用者帳號被建立。
625:更改了使用者賬戶型別
626:啟用了使用者賬戶
629:禁用了使用者賬戶
630:刪除了使用者賬戶
  以上5個事件可能是一個攻擊者試圖通過禁用或刪除發動攻擊時使用的賬戶來掩蓋他們的蹤跡。

577:使用者試圖執行受到許可權保護的系統服務操作。
578:在已經處於開啟狀態的受保護物件控制代碼上使用許可權。
577、578事件中詳細資訊中特權說明
SeTcbPrivilege特權:此事件可以表明一個使用者通過充當作業系統的一部分來試圖提升安全許可權,如一個使用者
  試圖將其賬戶新增到管理員組就會使用此特權
SeSystemTimePrivilege特權:更改系統時間。此事件可表明有一個使用者嘗試更改系統時間
SeRemoteShutDownPrivilege:從遠端系統強制關閉
SeloadDriverPrivilege:載入或解除安裝驅動程式
SeSecurityPrivilege:管理審計和安全日誌。在清除事件日誌或向安全日誌寫入有關特權使用的事件是發生
SeShutDownPrivilege:關閉系統
SeTakeOwnershipPrivilege:取得檔案或其他物件的所有權.此事件可表明有一個攻擊者正在通過取得一個
  物件的所有權來嘗試繞過當前的安全設定

517:日誌事件被清除或修改。此事件可以表明一個攻擊者企圖通過修改或刪除日誌檔案來掩蓋他們的蹤跡
612:更改了審計策略。此事件可以表明一個攻擊者企圖通過修改審計策略來掩蓋他們的蹤跡
  如為了掩蓋刪除日誌檔案的蹤跡他可能先關閉系統事件的稽核。


2、通過篩選器來檢視重要性事件
  方法:點選事件檢視器視窗中的檢視選單,點選篩選,點選篩選器,定義自己的篩選選項,確定即可。

3、在檢視完成之後備份事件
  方法:點選事件檢視器視窗中的操作選單,點選匯出列表,選擇儲存路徑和檔名,如果儲存型別
  選擇了“文字檔案(製表符分隔)”,將會儲存為文字檔案。如果儲存型別
  選擇了“文字檔案(逗號分隔)”,將會儲存為Excel檔案。
  當然也可以選擇另存日誌檔案。
  如果感覺這樣儲存麻煩也可以使用微軟的resourceKit工具箱中的dumpel.exe配合計劃任務可以實現
  定期備份系統日誌。

4、刪除檢查過的日誌檔案,日誌檔案越少越容易發現問題。

5、配合系統日誌程式日誌檢測可疑內容

6、使用EventCombMT工具
EventCombMT是一個功能強大的多執行緒工具,它可同時分析許多伺服器中的事件日誌,為包含在搜尋條件中的
  每一臺伺服器生成一個單獨的執行執行緒。利用它你可以定義
  要搜尋的單個事件ID或多個事件ID,用空格分格
  定義一個要搜尋的事件ID範圍。如:528>ID<540
  將搜尋限定為特定的事件日誌。如:只搜尋安全日誌
  將搜尋限定為特定的事件訊息。如:成功審計
  將搜尋限制為特定的事件源。
  搜尋事件說明內的特定文字。
  定義特定的時間間隔以便從當前日期和時間向後掃描
  注:要使用該工具您需要安裝WindowsServer2003ResourceKitTools.安裝完成後在命令提示符下輸入EventCombMT即可
  下載地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=
9d467a69-57ff-4ae7-96ee-b18c4790cffd&Display



  四、通過埠檢測入侵攻擊


  埠是攻擊者最喜歡的進入的大門,所以我們要養成檢視埠的習慣

1、通過netstat命令。CMD提示符下
netstat-ano:檢測當前開放的埠,並顯示使用該埠程式的PID。
netstat-n:檢測當前活動的連線
  如果通過以上命令發現有不明的埠開放了,不是中了木馬就是開放新的服務。
  處理方法:
  開啟工作管理員,在檢視選單下選擇列,勾選PID,點選確定。然後根據開放埠使用的PID在工作管理員中
  查詢使用該埠的程式檔名。在工作管理員殺掉該程序。
  如果工作管理員提示殺不掉,可以使用ntsd命令,格式如下:c:\>ntsd-cq-pPID。
  如果使用該PID的程序不是單獨的程式檔案而是呼叫的Svchost或lsass(現在有很多木馬可以做到這一點)。那麼
  需要你有很志業的知識才能查詢到。我的經驗是下面的幾種方法配合使用

  在服務中查詢使用Svchost或lsass的可疑服務。在命令提示符下輸入tasklist/svc可以檢視程序相關聯的
PID和服務。
  利用Windows優化大師中的程序管理去查詢Svchost或lsass中可疑的.dll。
  檢查System32下最新檔案:在命令提示符sytem32路徑下輸入dir/od
  利用hijackthis工具可以查出系統啟動的程式名和dll檔案.下載地址:http://www.cl520.net/soft/3992.htm

  發現可疑的dll後如果不知道是否為病毒檔案去Google吧

2、使用ActivePort軟體
ActivePort軟體安裝後用的是圖形化介面,它可以顯示所有開放的埠,當前活動的埠,並可以將埠、
  程序、程式名路徑相關聯。並且可以利用它來中斷某個活動的連線


  五、通過程序監控可疑程式
  
如果發現不正常的程序,及時殺掉,如果在工作管理員中無法殺掉可以去查詢可疑的服務,將服務關閉後
  再殺,當然也可以在提示符下利用ntsd命令。格式為:ntsd-cq-pPID



  六、利用Svcmon.exe(serviceMonitoringTool)監視已安裝的服務
  

  這個工具可以用來監視本地或者是遠端計算機服務的狀態改變,當它發現一個服務開始或者是停止的時候,
  這個工具將會通過發e-mail或者是ExchangeServer來通知你知道。要想使用這個工具需要安裝ResourceKit。
  但是去MS的網站http://www.microsoft.com/downloads/details.aspx?FamilyID=
9d467a69-57ff-4ae7-96ee-b18c4790cffd&Display下載的ResourceKit安裝後沒有找到這個工具,
  其實還有很多工具這個ResourceKit沒有。可能這是一個簡單的ResourceKit包。後來又安裝了2003
  光碟上的SupportTools也沒找到它。我使用了2000的
ResourceKit安裝光碟,安裝後,在2003上一樣可以使用。不過我用了後發現系統會不穩定,所以最好找2003的ResourceKit安裝光碟。
  這個工具由兩部分組成,Svcmon.exe在你安裝好ResourceKit後,預設的位於C:\ProgramFiles\ResourceKit
  資料夾下,你要將其拷貝到%SystemRoot%\System32下,然後在命令提示符下輸入Smconfig將開啟
  配置嚮導。是圖形介面,注意在ExchangeRecipients那裡添如你要提醒的使用者的Email。其他的
  按照指示做就可以了。
  如果發現有不正常的服務可以使用ResourceKit中的Instsrv.exe移除服務
  使用格式:instsrvservicenameRemove



  七、檢測System32下的系統檔案
  在安裝好系統後和安裝新的軟體後對System32資料夾做備份,然後用COMP命令定期檢查該檔案的內容查詢
  可疑的資料夾或檔案。COMP命令的使用格式為:命令提示符下
COMPdata1data2/L/C
data1指定要比較的第一個檔案的位置和名稱。
data2指定要比較的第二個檔案的位置和名稱。
/L顯示不同的行數。
/C比較檔案時不分ASCII字母的大小寫。
  注:MS的WinDiff工具可以圖形化比較兩個檔案



  八、利用Drivers.exe來監視已安裝的驅動程式
  
現在有的攻擊者將木馬新增到驅動程式中,我們可以通過MS提供的Drivers工具來進行檢測。
  在執行此工具的計算機上,此工具會顯示安裝的所有裝置驅動程式。該工具的輸出包括一些資訊,其中
  有驅動程式的檔名、磁碟上驅動程式的大小,以及連結該驅動程式的日期。連結日期可識別任何新安
  裝的驅動程式。如果某個更新的驅動程式不是最近安裝的,可能表示這是一個被替換的驅動程式。
  注:Drivers.exe工具在MS的的網站下載的WindowsServer2003ResourceKitTools中也沒有這個工具
  我是使用的2000的。


  九、檢查本地使用者和組
  
這個想來不用說太多,大家都知道的了,需要注意的一點是,如果使用命令列的netuser來檢視,將無法檢視
  到隱藏的使用者(即使用者名稱後加了$的),所以最好使用管理單元來檢視所有使用者。


  十、檢查網頁檔案,特別是有與資料庫連線的檔案的日期,現在有的攻擊者入侵後會在網頁程式碼中留下後門,
  所以如果日期發了變化,那就要注意查看了。
  


  十一、附Server2003EnterpriseEdition安裝IIS和SQL2000後預設啟動的服務、程序、埠
1、已啟動的服務
AutomaticUpdate、COM+EventSystem、ComputerBrowser、CryptographicServices、DHCPClient、
DistributedfileSystem、DistributedlinkTracking、Distributedtransaction、DNSClient、
ErrorReporting、Eventlog、HelpAndSupports、IPSECServices、LogicalDiskManager、
NetworkLocation、plugandplay、PrintSpooler、RemoteProcedureCall、RemoteRegistry、
SecondaryLogon、SecurityAccounts、Server、SystemEventNetification、TaskScheduler、
TCP/IPNetBIOS、TerminalServices、WindowsInstaller、WindowsManagementInstrumentation、
WindowsTime、WirelessConfig、Workstation。

  以下為安裝IIS(只有WEB服務)後新加的啟動的服務
AddService、Com+systemapplication、HttpSSL、IISAdminService、
networkconnections、protectedstorage、shellhardware、wordwideweb。

  以下為安裝SQL2000後新增加的已啟動的服務
MicrosoftSearch、NTLMSecurity、MSSQLServer

2、已啟動的程序
ctfmon:admin、wpabaln:admin、explorer:admin、wmiprvse、dfssvc、msdtc:networkservice、
sploolsv、lsass、conime:admin、services、

svchost:7個其中localservice2個、networkservice1個、winlogon、csrss、smss、

system、systemidleprocess。共計:22個程序,其中admin、networkservice、localservice表示使用者名稱
  未註明的為System使用者

  以下為安裝IIS後新增加的程序
wpabaln:admin、inetinfo、

  以下為安裝SQL後新增加的程序
mssearch、sqlmangr、wowexecadmin、sqlservr


3、已開啟的埠
TCP:135、445、1025、1026、139
udp:445、500、1027、4500、123

  以下為安裝IIS後新增加的埠
tcp:80、8759注意8759這個埠是第一次安裝後自動選擇的一個埠,所以每臺機會不同

  以下為安裝SQL後新增加的埠

tcp:1433