《日誌管理與分析權威指南》一2 2 2 日誌語法

2021-09-23 15:02:40 字數 2250 閱讀 9210

任何格式的日誌檔案都具有語法,日誌語法在概念上與語言(如英語)語法相似。人類語言語法中的句子通常包含乙個主語、乙個謂語、有時還包含乙個表語,當然還有補語和定語。句子的語法涵蓋句子成員之間的關係和他們的含義。需要注意的是,語法並不涉及訊息的內容。換句話說,語法處理的是如何構造我們所要表述的內容,而不是我們使用的具體詞語。

那麼,在日誌訊息的環境下語法又有什麼意義呢?當然,每條日誌訊息都有表徵它的結構。一些型別的日誌訊息自身具有人類語言的部分語法,日誌訊息每部分由各種型別的資訊模式組成。基於規則,可以定義一組通用的日誌字段。而正是由於其必要性,故應存在於每條日誌條目中。例如,常見的一組字段如下:

1)日期/時間(理想的情況下應包含時區)

2)日誌條目的型別

3)產生該條目的系統

4)產生該條目的應用程式或元件

5)成功與失敗的指示

6)日誌訊息的嚴重性、優先順序或重要性(通常存在於所有syslog訊息)

7)和該日誌相關的任何使用者活動,也可記錄使用者名稱

網路裝置製造商通常在其日誌中遵循上述結構,但是,缺乏某些細節的例外情況也很多。

日誌的句子中有哪些內容?讓我們試著對syslog的單行記錄做次「語法分析」。作為最靈活(也最混亂)的日誌格式的例子,我們將使用syslog的一條日誌訊息。

它看上去是否很晦澀?我們故意選擇了相當長且深奧的一行日誌。我們可以知道「主語」(表明了「什麼」)是乙個命名程序,指出使用者應該「check_hints」(「謂語」)指定dns伺服器,這個事件發生在11月16日00:26(令人吃驚的是,syslog在其日誌時間戳中並不記載年份,這會在本章後面更詳細地解釋)。滿足一下大家的好奇心,這裡發生的事件其實就是根dns伺服器中的乙個ip位址改變了,但這個dns伺服器(產生上面這條日誌的伺服器)依舊使用其配置檔案中的舊資訊發起查詢(例如,可以參見**《some error message and problems with dns》:

日誌訊息的語法有什麼意義?日誌語法對於任何一種日誌資料的自動分析(本書討論的主題)都非常重要。我們需要按照語法將日誌分解成各個組成部分,才能從日誌資料中得出明智的結論。

一些日誌分析相關的軟體產品(商用和開源)已經開發了「訊息模式」(message schema)來確定各種日誌型別的語法。這種模式被設計成可以滿足從各種裝置、系統、應用程式和其他**日誌檔案產生的任何訊息。

對讀者來說,大部分上面的日誌訊息例子顯然都適合於這種模式。例如如下的dragon nids訊息:

上例很容易融入表2.1所示的通用模式。這條訊息表明,伺服器10.1.1.3遭到從10.208.231.102發起的iis web伺服器攻擊(可能是由黑客或蠕蟲病毒等惡意軟體發起的)。此攻擊與internet information services(iis,乙個標準的windows web服務)的unicolde解碼漏洞相關。

注意,在收集這些訊息時還新增了一些資料(由日誌分析解決方案提供)。

注意,日誌分析系統新增了event和event_type以及變數名稱(ndns,netbios,以及其他),以完成dragon入侵檢測系統所描繪的情景。

來自「不尋常應用程式」(儘管我們不確定是否曾經見過任何「正常」的應用程式日誌)等特殊日誌**的資料如何處理呢?這種情況下,人們可能會使用通用的「自定義」字段儲存這類資料。雖然這樣會使日誌結構看上去很混亂,但是很遺憾,當前日誌分析的特性就是如此。

總的來說,在做任何一種日誌分析之前,對日誌檔案語法有一定了解都是至關重要的。有些人可以在自己頭腦中執行這樣的分析,但這並不影響此方法的價值,只是說明這樣的分析可能很簡單(也凸顯了人類對機器有一定的優勢)。大多數情況下,自動化日誌分析系統需要理解日誌語法,這種理解通常被編碼成某種模板。

總體上,各種各樣的系統和裝置**商會採用少數特定日誌記錄型別,並結合幾種常見語法(在前一小節中定義)。例如,一些安全日誌被記錄為xml格式,以便進行更簡單、資訊更豐富的整合。很多運營日誌通過syslog記錄,採用非結構化文字或半結構化訊息。與此相似,許多除錯日誌採用syslog甚至臨時文字檔案。而高效能日誌記錄常常採用二進位制和專有格式。

常用裝置日誌記錄選項在表2.2進行了總結。

除了這些知名的日誌記錄方法之外,少數網路裝置還會將日誌記錄為逗號分隔(csv)或elf格式(前文已經提到)。當然這些情況相對較少出現。

《日誌管理與分析權威指南》一3 2 2 SNMP

snmp設計用於滿足網路管理員不斷增長的需求。從20世紀90年代初起,snmp已經整合到幾乎所有你能想到的網路系統中,包括許多網路安全系統。snmp是查詢和配置裝置的一種協議。snmp陷阱和通知是裝置在特定事件發生時生成的特殊snmp訊息。雖然snmp協議整體來說不是乙個日誌記錄系統,但是snmp陷...

HTTP權威指南 基礎知識 連線管理與HTTP結構

1 所有的tcp連線都是tcp ip承載的,http連線實際上就是tcp連線及其使用規則。http 應用層 http 應用層 tcp 傳輸層 tsl or ssl 安全層 ip 網路層 tcp 傳輸層 網路介面 資料鏈路層 ip 網路層 網路介面 資料鏈路層 3 tcp連線是通過4個值 源ip位址 ...

和我一起學《HTTP權威指南》 連線管理

幾乎所有的http通訊都是由tcp ip承載的。瀏覽網頁時客戶端執行的操作 如瀏覽 瀏覽器收到這個url時,會執行如下圖的步驟。1.1tcp的可靠資料管道 http連線實際上是tcp連線和一些使用連線的規則 tcp連線是網際網路上的可靠連線,tcp為http提供一條可靠的位元傳輸管道,從tcp連線一...