Linux下文件完整性監控工具Tripwire詳解
簡介
Tripwire 是目前最為著名的Unix下文件系統完整性檢查的軟件工具,這一軟件采用的技術核心就是對每個要監控的文件產生一個數字簽名,保留下來。當文件現在的數字簽名與保留的數字簽名不一致時,那么現在這個文件必定被改動過了。
軟件特點
監視和檢查系統發生的變化能夠及時地幫助你發現攻擊者的入侵,它們能夠很好地提供系統完整性的檢查。
用Tripwire建立數據完整性監測系統。雖然它不能抵御黑客攻擊以及黑客對一些重要文件的修改,但是可以監測文件是否被修改過以及哪些文件被修改過,從而在被攻擊后有的放矢的策劃出解決辦法。
Tripwire原理
Tripwire的原理是Tripwire被安裝、配置后,將當前的系統數據狀態建立成數據庫,隨著文件的添加、刪除和修改等等變化,通過系統數據現狀與不斷更新的數據庫進行比較,來判定哪些文件被添加、刪除和修改過。正因為初始的數據庫是在Tripwire本體被安裝、配置后建立的原因,我們務必應該在服務器開放前,或者說操作系統剛被安裝后用Tripwire構建數據完整性監測系統。
Tripwire的基本操作
一個配置文件(tw.config)描述監測哪些目錄和文件,還有一個基線簽名數據庫產生一個有關改動的詳細報告。
當第一次運行Tripwire時,程序創建一個簽名的基線數據庫。下一次運行時,它使用tw. config文件產生一個新的簽名數據庫。然后,它比較兩個數據庫,實施用戶定義的任何選項屏蔽(排除經常更改的文件),最后通過電子郵件或顯示器來為用戶在終端上輸出一個可讀的報告。
Tripwire有四種操作模式:數據庫生成、完整性檢查、數據庫更新或交互式更新。
數據庫生成模式產生一個基線數據庫,為未來的比較打下基礎。
完整性檢查是Tripwire的主要模式,把當前文件簽名和基線數據庫進行比較來進行檢查。
有兩種更新模式允許用戶調整Tripwire數據庫以消除不感興趣的結果以及應付正常的系統變化。例如當用戶帳號正常增加或刪除時,不希望Tripwire重復報告/etc/passwd文件被改動了。
默認支持報告方式
Syslog
注意事項
有一點要注意,上述保障機制的重點在于數據庫內的數字簽名,如果數據庫是不可靠的,則一切工作都喪失意義。所以在Tripwire生成數據庫后,這個庫文件的安全極為重要。比較常見的做法是將數據庫文件, Tripwire二進制文件,配置文件單獨保留到"可拿走并鎖起來"的質上,如光盤,將上述文件復制到光盤后,關閉寫保護口,鎖到保險柜中。這樣即使侵入者拿到盤也無計可施。除這種辦法外,利用PGP等加密工具對上述關鍵文件進行數字簽名也是一個很好的選擇。
當然,當管理員自身對某些文件更動時, Tripwire的數據庫必然是需要隨之更新的, Tripwire考慮到了這一點,它有四種工作模式:數據庫生成,完整性檢查,數據庫更新。交互更新。當管理員更動文件后,可運行數據庫更新模式來產生新的數據庫文件。
Tripwire只支持英文系統
單文件大于3G的時候執行tripwire –check 會出錯,具體原因不明。
Tripwire Install
OS:CentOS
# http://sourceforge.net/projects/tripwire/
# install sendmail, wget
yum -y install gcc gcc-c++
cd /home
wget http://jaist.dl.sourceforge.net/project/tripwire/tripwire-src/tripwire-2.4.2.2/tripwire-2.4.2.2-src.tar.bz2
tar -xf tripwire-2.4.2.2-src.tar.bz2
cd tripwire-2.4.2.2-src
./configure --prefix=/home/tripwire
#在make install 期間,需要手動鍵入ENTER,閱讀前言然后輸入accept,接下來需要手動設置3組密匙口令 (建議:可以3組選同一個密碼,請設置一個強力的口令,然后請牢記)
make && make install
# create database
/home/tripwire/sbin/tripwire --init
# 執行檢查
/home/tripwire/sbin/tripwire --check
#設置 crontab
crontab -e
00 10 * * * su /home/tripwire/sbin/tripwire --check|mail -s "tripwire report" example@xiaomi.com
后續擴展:
收集多臺tripwire報告,集中處理告警信息發送郵件通知相關人員,并按照每天的報告進行存檔,方便日后查看。
最后相關人員收到的郵件如下:
標題:Tripwire Report HI,All 文件完整性監控狀態 hostname1 正常 hostname2 正常 hostname3 正常 hostname4 異常 hostname5 正常 hostname6 異常 異常的服務器請拷貝主機名,訪問下面URL進行搜索查看詳細信息。 http://tripwire.report.xiaomi.com/tripwire_2013-12-4.txt