日志對於安全來說,非常重要,他記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡。日志主要的功能有:審計和監測。他還可以實時的監測系統狀態,監測和追蹤侵入者等等。 在Linux系統中,有三個主要的日志子系統: 連接時間日志——由多個程序執行,把紀錄寫入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系統管理員能夠跟蹤誰在何時登錄到系統。 進程統計——由系統內核執行。當一個進程終止時,為每個進程往進程統計文件(pacct或acct)中寫一個紀錄。進程統計的目的是為系統中的基本服務提供命令使用統計。 錯誤日志——由syslogd(8)執行。各種系統守護進程、用戶程序和內核通過syslog(3)向文件/var/log/messages報告值得注意的事件。另外有許多UNIX程序創建日志。像HTTP和FTP這樣提供網絡服務的服務器也保持詳細的日志。 這篇文章不談論UNIX的日志管理等問題,只談論一點記錄系統的一些設計思想。(日志管理的帖子很多,也很詳細,我不想過多討論這些) 攻擊發生後,可能你對你能在自己的LOG記錄上能發現多少信息感到很驚訝,但是,在我們講述查看你記錄前,我們首先必須討論下加強你的系統LOG安全性,如果你不能信任你系統記錄的完整性那這些記錄將會一文不值,多數black-aht或hacker在進入系統之後第一件事情就是怎樣更改記錄文件,網上非常多類型的Rootkit工具可以清楚記錄文件中他們的留下的蹤跡(如cloak),或者阻止所有系統的記錄(如偽造過的syslogd),因此,要想查看系統記錄,你必須保護好你的記錄文件。 這意味著你需要使用遠程的LOG服務器,先不管你有多少能力保護自己的系統,在一台被入侵的系統中你不能相信你的任何記錄,即使你最好的保護被入侵系統的LOG記錄,black-hat也可以簡單的使用rm -fr /*來完全清理你的硬盤。要保護這些文件,你必須使你所有系統的LOG記錄既有本地記錄也發向遠程LOG服務器中,這裡建立你一個只記錄LOG的服務器來收集其他服務器上的信息,如果牽涉到錢的問題,你可以簡單使用Linux服務器來充當你的LOG服務器,不過這台服務器必須保證非常安全,需要所有服務關閉,只允許控制台訪問(如Armoring Linux所描述),還有必須保證UDP 514口沒有對外連接,這樣可以保護你的LOG服務器不接受從外界來的不好的或者未認證的LOG信息。 由於上述原因,這裡建議你重編譯syslogd程序,並讓syslogd讀取不同的配置文件,如/var/tmp/.conf,此方法能讓black-hat沒有注意到真實的配置文件位置,這項。作你可以簡單的在源代碼中修改"/etc/syslog.conf"條目,接著我們可以設置我們新的配置文件把信息記錄到本地和遠程服務器,如syslog.txt.這裡請你維持一標准的配置文件/etc/syslog.conf指向所有本地LOG,雖然這份配置文件沒有用,但可以讓攻擊者相信記錄沒有發忘遠程記錄。另一個選擇方法就是讓你的系統使用更安全的日志記錄工具,如使用某些有完整性檢查和其他方面安全加強的系統日志記錄工具,如syslog-ng. 把記錄都記錄到遠程服務器中,將象上面提到的,我們可以基本上相信這些LOG的完整性,而且由於所有系統都記錄在單一資源中,就比較容易的判斷這些LOG的樣式。我們可以在一台機器上記錄所有系統記錄,你所做的是對比下本地系統和遠程系統的不一致性。對於大型機構合理的系統設計應該如圖所示:
這個設計目的是為非常多的監視系統提供可縮放性,也就是處理大量不同的記錄機制,以及安全和管理分析員為其特定的工作使用的獨立網絡的方法。 設計物理隔離性可以防止非法篡改或檢查硬件和網絡。 與被監視網絡的連接只能通過如站和出站過濾器,它們是非常特殊的加強安全策略的位置。通常情況下,記錄系統規則只允許入站日志通信,根本不允許出站通信。在理論上,只要切斷與被監視網絡連接的網絡接口上的TRANSMIT線就可以做到這一點,並不需要路由器。但是,通過在這裡放置一個路由器,將可以處理大量更復雜的操作。例如,網絡地址轉換和訪問控制。 入站過濾器可以為每個日志計算機提供特定的安全策略。這裡的入站過濾器應由端過濾器來做。 綜合監視計算機與日志網絡的連接方式使得它不可能在網絡上傳輸數據報,但它可以監聽網絡上的所有數據。綜合監視器的工作是檢測在日志網絡中的非法網絡通信(說明可能被入侵),以及跟蹤各種日志源,觀察是否在試圖進行非法的日志,以及昨天還在記錄的計算機是否今天還在記錄。將這台計算機設置為日志網絡完全不可見,而且是物理分離的。這樣可以為其他的監視系統提供近似的防止篡改的交叉檢驗。 日志計算機收集各種日志信息,並按照對數據有益的方式組織日志信息。它們可能在復雜的數據庫中存儲日志項,以便以後查詢,或者只是將它們存儲在文件中。 在日志計算機之後是分析網絡,它包含各種處理日志項,尋找應該引起注意的攻擊模式的日志分析計算機。你可以使用幾套監視工作站來觀察這些信息。有時可能希望限制某些監視組的觀察能力,而提高其他組的能力,這樣就需要使用多套工作站。 每套計算機所選擇的數量與能力必須與整個機構、網絡及預算相匹配。在最簡單的情況下,這個設計將是一個路由器,後面有一個工作站。對於小型網絡,這已經足夠了。在高端的情況下,你可能有許多記錄和分析計算機,還有監視工作站的操作中心。基本思想是為網絡提供完成任務的足夠的監視子系統。