本節書摘來華章計算機《日志管理與分析權威指南》一書中的第2章 ,第2.3節,(美) Anton A. Chuvakin Kevin J. Schmidt Christopher Phillips 著 姚 軍 簡于涵 劉 暉 等譯更多章節內容可以訪問云棲社區“華章計算機”公眾號查看。
2.3 良好日志記錄的標準
正如這本書中各式例子所示,許多情況下日志記錄的信息是不完整的,有時甚至是沒用的。那么怎樣才算是“良好”的日志呢?對入侵檢測、資源管理或審計來說,日志消息必須包含哪些必要的信息?由于日志的種類很多,生成日志的設備更是多種多樣,因此很難定義單一的標準。
通常來說,日志應該能夠告訴你如下信息:
- 發生了什么(即What,輔以適當細節信息;單純的“某事發生”通常并不是特別有用)
- 發生于何時(即When,若有必要,包含開始時間以及結束時間)
- 發生于何處(即Where,在哪臺主機,什么文件系統上,哪個網絡接口等等)
- 誰參與其中(Who)
- 參與者來源(Where)
以上所列的是絕對必要的信息——“日志記錄的5個W”。許多其他領域都遵循這些準則:如新聞報道、犯罪調查等等。為了錦上添花,許多人還愿意加入下面這些信息:
- 我能從何處得到更多詳細信息。
- 我怎么才能確定以上所表內容確有其事。
- 會有什么影響。
我們當然也可以夢想,期望著知道:
- 接下來會發生什么。
- 我應該再關注哪些其他事件的發生。
- 我應該怎么做。
當然,在某些情況下,上面這幾項取決于特定的環境,即你的站點在某個特定事件發生后應該執行的操作與其他站點可能并不相同。
由于各種組織在一定程度上已經控制了網絡設備和服務器的日志記錄,應用程序日志記錄顯然將成為下一條戰線。在習慣了整齊的Cisco ASA或其他防火墻日志以及Linux的“password accepted”(密碼被接受)消息后,安全事故的調查者不得不投身可怕的應用程序日志世界,試著去對下一波攻擊做出回應。這些日志可能會在這里或那里錯失細節,并且并不總是有用,但至少它們是熟悉的。
當今許多應用程序日志存在的問題簡直令人難以置信:日志常常缺失,關鍵細節被省略,沒有標準格式或內容隨意出現在任何位置。在這一基礎上,許多安全從業人員不得不處理偽裝成安全審計日志的調試日志。
表2.3闡述了這兩類應用程序日志的關鍵區別。
與設計精良的安全審計日志相比,調試日志在應用程序框架內部的使用更頻繁,由于事故響應和取證所需的關鍵細節在調試日志中可能沒有記錄,使用它們進行調查往往是令人沮喪的。第18章將更詳細地討論這一主題。
理想的日志記錄場景
那么,如果我們可以讓日志記錄按照預想的方式工作,我們想看到的是什么信息,這些信息如何呈現?
我們希望看到的東西就只是那個時刻需要知道的,不多也不少。當然,這只是白日做夢,所以我們將滿足于獲得比這更多的信息——不同嚴重性的事件,以便日志分析人員根據當前情況做出決策。
從更高的層次來看,我們更愿將信息分為兩類:現在就處理(緊急)的信息或后期再處理(不緊急)的信息。前者是高優先級的日志,清晰且可操作。不管某條目添加到日志中的哪個位置,都應該傳達給操作人員或分析人員以便立即采取行動。當然,采取什么行動也應該很清晰。
后者包含的記錄并不需要立即處理。然而當總結、時間推移或者審計/取證分析的時候,這些事件會提供重要的信息。
總而言之,我們樂于看到:
表2.4不是一個完整的列表,但是它提供了理想情況下應該被記錄的事件以及記錄的方式。優先級可能不只兩個,但是概念上來說是相同的。事實上,真實環境下通常最少有3個優先級。第三個級別是無用的或不重要的“可忽略”日志消息。