回信望愛

維護系統檔案的完整性
作者/蔡哲民
 
  信望愛資訊中心目前利用 L5 來維護系統檔案的完整性。

  檔案系統,可以說是作業系統的重要核心,當入侵者利用系統破洞侵入時,最常做的一件工作就是 替換掉重要的系統檔案(例如 /bin/login),以利入侵者下一次的入侵(例如:利用萬用密碼就可以 登入系統)。信望愛站在上一次被入侵的經驗中,就發現入侵者修改了 /bin/login 這個檔案以及相關 的一些開機程序檔。

  然而,入侵者可能替換的系統檔案有很多,我們從何偵測出系統檔案已經被入侵者替換掉了呢?這 就得依賴一些檢驗程式的幫忙,以幫助我們消極的偵測系統檔案是否被人非法替換掉了。

  好的系統檔案完整性檢驗系統必須執行速度夠快,佔額外的空間小,又能夠有效的避開入侵者蓄意 的偽冒。並且檔案系統本質上就是一個時時變動的體系,檔案完整性的檢驗必須限定在不會更動的特定 系統檔案才不會產生一大堆沒有用的報告,而依系統設定的差異,系統檔案所處的位置也可能有不同, 因此這檔案完整性檢驗系統必須能夠作適當的控制以符合不同的系統設定方式。

  早期信望愛站選擇了 tripwire 這套系統來擔當此一重任。因為信望愛站使用 RedHat Linux 系統 為基礎來架設,所以我們抓到 tripwire-1.2-2.i386.rpm 這個 rpm 來安裝 tripwire(tripwire-1.2-1 執行時會發生問題),透過 /etc/tw.config 來控制不同的系統檔案所需要做的完整性檢查。第一次是 使用 tripwire -initialize 來初始化檢驗資料庫,以後則直接利用該 rmp 檔所提供的 cron script 來作定期檔案完整性檢查,要作不定期的完整性檢查時,只需以 root 身份執行 tripwire 即可。

  遇到修改系統檔案後,只要執行 tripwire -interactive 即可修改檢驗資料庫。

  我們使用 tripwire 還算相當滿意,不過後來 tripwire 變成了商業軟體,雖然對 Linux 使用者 還是免費的,不過我們還是積極的考慮更換成真正 Open Source 的軟體。一方面我們也覺得 tripwire 實在是太過強大了,執行起來有一點慢,信望愛站實在不需要 tripwire 這麼複雜的保全功能(基本上 我們也只用到最標準的功能罷了)。不過對於大型的企業來說,tripwire 還算是不錯的選擇。

  偶然我們由網路上的文件中讀到 L5 這個可以取代 tripwire 的工具,經取回試用之後,發現這個 系統雖然完整性不像 tripwire 一樣完備,但功能足夠且速度相當快,於是我們就將系統完整性的檢驗 工作換成 L5 來執行。不過 L5 功能有限,只是針對檔案系統產生 MD5 等相關資料列表的工具罷了, 得要配合 Unix 系統裡面的 diff、more 等功能才能完成整個程序。L5 像 tripwire 一樣,要編輯一 個「需要檢驗的目錄列表」,然後 L5 會參照這個列表來產生相關的資料。這種事情說也說不太清楚, 我們在 ftp://ftp.fhl.net/pub/FHL/L5 裡面放置相關的示範 script 與控制檔,歡迎大家去參考看看。

  理論上檢驗資料庫應該放在 CD-ROM 等唯讀媒體中以避免入侵者的修改,不過基於信望愛站的系統 檔案常常會作調整修正,並且我們沒有足夠的經費與時間購買燒錄機燒錄光碟片,所以暫時我們還是存 放在一般最常用的唯讀媒體「軟式磁碟片」中。 tripwire 的說明文件有提到可以利用 secure NFS 來 將檢驗資料庫存於一台專門的安全機器上,只有在要檢查的時候才把檢驗資料庫掛上來,根據我們的經 驗,這似乎是太過小題大作了,還不如買個好一點的軟碟片,每台機器放一片,大概用個幾個月都還不 會損壞。我想除非真的需要管理數十台機器,應該用軟碟片就夠了。

  系統被入侵者入侵實在是一件防不勝防的事,即使是最勤勞的系統管理者恐怕也未必來得及補上所 有的系統漏洞。為了維護系統的安全,除了定期的察看網際網路的系統安全報告,儘速補上新發現的漏 洞之外,使用系統檔案完整性檢驗程式來作消極性的安全補強動作,也是相當重要的一件事。


蔡哲民(tjm)記於 1998.12.4,修訂於 2000.2.19


 
 
信望愛站軟硬體平台介紹與歷史     信望愛站的OS選擇與理由
信望愛站的硬體選擇與理由     信望愛站的備份策略
信望愛站的安全措施     信望愛站的BBS相關技術
WWW、FTP、資料庫相關技術

回「信望愛技術」索引
 
 

回首頁

版權所有,請尊重著作權。
Copyright 2000 信望愛資訊中心 All Rights Reserved.