资源描述
Linux系統安全講義-IDS:Tripwire檔案比對工具
一、Tripwire 簡介
1. Tripwire是一套比對檔案/目錄完整性的安全工具,經由比對現存檔案與先前所建立的基準資料庫(baseline database),如果發現有任何資料受到新增、刪除或修改,Tripwire可即時通知系統管理員,並產生彈性的可讀式報告;管理員可依此評估是否要進行後續檢驗或系統還原的工作。
2. Tripwire RPM 版的相關檔案如下:
程式檔:(在 /usr/sbin/)
-tripwire(#man tripwire):提供五大模式維護工作,(1)資料庫初始化 (2)完整性檢驗
(3)資料庫更新 (4)原則更新 (5)郵件測試
-twadmin(#man twadmin):可產生Tripwire所使用的設定檔,原則檔及金鑰檔,也用來做編碼及簽章
-twprint(#man twprint):以純文字列出資料庫和報告檔內容
-siggen(#man siggen):可檢視檔案的雜湊編碼資料
設定檔:/etc/tripwire/tw.cfg --(twcfg.txt-未加密)
原則檔:/etc/tripwire/tw.pol --(twpol.txt-未加密)
資料庫:/var/lib/tripwire/$(HOSTNAME).twd
報告檔:/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
金鑰檔:分為site key和local key;site key可用在多套系統上,是用來保護設定檔和原則檔;
local key是針對個別主機使用的,例如每個主機的資料庫
(/etc/tripwire/site.key和 $(HOSTNAME)-local.key
3. 下載軟體:tar.gz: (下載tripwire-2.3.1以上版本)
rpm: 搜尋 "tripwire" (RedHat 光碟第二片也有)
二、實做步驟
1. RPM檔安裝後(#rpm -ivh tripwire-xxx.rpm),需要再執行 /etc/tripwire/twinstall.sh
#/etc/tripwire/twinstall.sh < ----輸入site key & local key 密碼
2. Database Initialization Mode
#/usr/sbin/tripwire -m i
3. 修改原則檔以符合系統現有的檔案架構
#cd /etc/tripwire
#/usr/sbin/tripwire -m c | grep Filename > twnotfound.txt
編寫一個shell script (twfilter.sh) (參考來源:網中人)
#!/bin/bash
org_file=/etc/tripwire/twpol.txt
not_file=twnotfound.txt
tmp_file=tmp.txt
new_file=new.txt
cat $org_file > $tmp_file
for I in $( cat $not_file | cut -d ":" -f 2 ); do
grep -v $i $tmp_file > $new_file
cat $new_file > $tmp_file
done
mv $org_file $org_file.bak
cat $new_file > $org_file
rm -f $new_file
rm -f $tmp_file
# ---END Script---#
#sh twfilter.sh < -- 產生符合系統的原則檔
4. 根據新的原則檔重建資料庫
#/usr/sbin/twadmin -m P /etc/tripwire/twpol.txt
#/usr/sbin/tripwire -m i
5. **重要**建立資料庫後”務必”刪除純文字格式的原則檔和設定檔
#rm /etc/tripwire/twpol.txt
#rm /etc/tripwire/twcfg.txt
6. Integrity Checking Mode
#/usr/sbin/tripwire -m c
可在 /etc/cron.daily/ 下新增 script: (tw-check)
#!/bin/bash
/usr/sbin/tripwire -m c | mail -s "Tripwire Daily Report from {$HOSTNAME}" root@localhost
7. Database Update Mode
如果系統有新增或修改檔案,需更新資料庫:
#/usr/sbin/tripwire -m u -r /var/lib/tripwire/report/{HOSTNAME}-{DATE}.twr
進入 vi 編輯模式,在報告檔中有違反原則的會有一個選擇框 ([X]),若維持"X"表示接受此更動,
如果移除"X"則表示不更新此變化(未來再檢查還是會列出來),改完存檔時需輸入local key密碼,
Tripwire會更新資料庫並存檔
8. Policy Update Mode
將現有的原則檔(加密版)匯出為 twpol.txt(純文字版)
#/usr/sbin/twadmin -m p > /etc/tripwire/twpol.txt ,改完再更新回加密版
#/usr/sbin/tripwire -m p /etc/tripwire/twpol.txt
#/usr/sbin/tripwire -m c < --立即做檢查,並記得刪除 twpol.txt !!!
9. 如果要更新設定檔,需先匯出現有的設定檔(加密版)為純文字格式
#/usr/sbin/twadmin -m f > /etc/tripwire/twcfg.txt ,改完再更新回加密版
#/usr/sbin/twadmin -m F --site-keyfile /etc/tripwire/site.key twcfg.txt
#rm twcfg.txt
三、Tripwire運作原理圖解
展开阅读全文