一、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: http://sourceforge.net/projects/tripwire/ (下载tripwire-2.3.1以上版本)
rpm: http://rpmfind.net 搜寻 "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 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
附注:监控文件名单包含在/etc/tripwire/twpol.txt