這裡將使用微軟官方提供的Log Parser免費工具程式解析IIS網站伺服器所產生的網站紀錄,然後透過ODBC連線方式將解析資訊儲存至遠端的MySQL資料庫主機,以便於分析及稽核。
表3 輸出格式說明
Log Parser在解析完相關的紀錄後,也提供多種類型的輸出格式,相關輸出格式如表3所述。
在說明過Log Parser軟體的用法之後,接下來,將利用此工具來解析IIS網站伺服器所產生的W3C紀錄。首先,說明W3C紀錄的格式,其欄位格式如下所示:
在說明格式各欄位相關意義之前,先說明此種紀錄格式的命名規則,在上述格式中,有些字元代表特殊的意義,說明如下:
s:代表網站伺服器的意思,即表示Server。
c:代表使用者端的意思,即表示Client。
sc:代表從網站伺服器至使用者端的意思,亦即Server to Client。
cs:代表從網站伺服器至使用者端的意思,亦即Client to Server 。
接下來,繼續說明各欄位的意義,如表4所示。
表4 各欄位的代表意義
講解過欄位相關的意義後,在此特別補充cs-method說明,在HTTP通訊協定中定義了下列幾種常見的HTTP方法(Method):
·OPTIONS:如果網站伺服器提供此HTTP方法,使用者就可利用此方法(Method)來取得更多關於網站伺服器的資訊,如圖3所示,即以Telnet方式來連接網站伺服器,並以Options方法來取得更多的資訊。
|
▲圖3 以Telnet方式來連接網站伺服器,並以Options方式取得更多的資訊。 |
·GET:使用者將要傳遞網站伺服器的資訊以query字串的方式傳給網站伺服器。
·POST:使用者將要傳遞網站伺服器的資訊,以表單(Form)的方式傳給網站伺服器。
·HEAD:使用者要求網站伺服器僅回覆的網頁標頭(Header)資訊,而不需要回覆網頁內容(Body)。
·PUT:網站伺服器提供上傳(Upload)檔案的功能,如果網站伺服器有開啟此功能,即允許使用者端(Client)以PUT方法將檔案上傳到網站伺
服器。
·DELETE:網站伺服器提供刪除(Delete)檔案的功能,如果網站伺服器有開啟此功能,即允許使用者端以刪除的方法從網站伺服器上刪除檔案。
一般來說,一個實際上線服務的網站伺服器,除非有特殊的原因,不然不應該支援PUT、DELTET等較為危險的HTTP方法,所以一旦發現網站紀錄中有出現此類HTTP方法(如PUT、DELTET),就需要特別留意該來源IP是否別有居心。最後,如圖4所示為IIS實際儲存在文字檔案中的紀錄內容。
|
▲圖4 IIS實際儲存在文字檔案中的紀錄內容。 |
Log Parser解析網站紀錄
Log Parser最大的優點是可以使用SQL語法去解析那些儲存在文字檔案中的紀錄資訊。在解析之前,必須先知道這個要分析的文字檔案提供了那些欄位,本文僅以解析W3C格式為例,並假設儲存網站紀錄的檔案已被放置在「D:\iislog」目錄內。
執行如圖5所示的指令,其中-i:W3C表示輸入來源為W3C格式,並輸出成容易閱讀的-o:NAT格式,且僅需列出符合條件的第一筆紀錄,這樣就可以從輸出中取得欄位名稱(圖5中框選的部分)。
|
▲圖5 執行指令從輸出中取得欄位名稱。 |
在知道資料庫的欄位名稱之後,接下來就可以按照使用者的需要,運用相關的SQL指令來取得符合所需的資料。
以下為幾個常見的SQL指令運用:
1. 取得個別來源IP對網站伺服器的存取次數(由高至
低排列),如圖6所示。
|
▲圖6 取得個別來源IP對網站伺服器存取的次數。 |
2. 單獨的來源IP每小時對網站伺服器存取次數統計,
如圖7所示。
|
▲圖7 單獨的來源IP每小時對網站伺服器存取的次數統計。 |
雖然Log Parser軟體可以讓使用者便利地利用SQL指令從文字檔案中取得相關資訊,但有時候還是希望能將相關的網站紀錄資訊導入遠端的資料庫軟體以便於保存及應用。
接下來,利用ODBC機制搭配Log Parser軟體,將IIS網站伺服器所產生的網站紀錄儲存到遠端的MySQL資料庫主機上。首先,必須先在IIS網站伺服器的所在主機上安裝可以連接MySQL資料庫的ODBC軟體,請連結至網頁「https://dev.mysql.com/downloads/connector/odbc/」以取得MySQL ODBC程式。