Tripwire是目前最为著名的unix下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来。当文件现在的数字签名与保留的数字签名不一致时,那么现在这个文件必定被改动过了。
Tripwire可以对要求校验的系统文件进行类似md5的运行,而生成一个唯一的标识,即“快照”snapshot。当这些系统文件的大小、inode号、权限、时间等任意属性被修改后,再次运行Tripwire,其会进行前后属性的对比,并生成相关的详细报告。
一、编译安装Tripwire
安装配置
wget https://sourceforge.net/projects/tripwire/files/tripwire-src/tripwire-2.4.1.2-src/tripwire-2.4.1.2-src.tar.bz2
tar jxvf tripwire-2.4.1.2-src.tar.bz2
cd tripwire-2.4.1.2-src
./configure --prefix=/usr/local/tripwire
make
make install
安装过程中,会要求你阅读使用协议,回车。
空格是翻页,到最后输入“Accept”继续安装。
接着会要求你输入“site keyfile”口令和“local keyfile”口令,各两遍,完成确认。
最后安装Tripwire完成。
#初始化数据库
/home/tripwire/sbin/tripwire --init
删除以下文件
cd /etc/tripwire
rm twcfg.txt twpol.txt
# 执行检查,默然情况下,每天会进行一次例行检查:
/home/tripwire/sbin/tripwire --check
检查生成的报告会放在:
ls ..tripwire/lib/tripwire/report/localhost.localdomain-20171130-170231.twr
查看报告
./sbin/twprint --print-report --twrfile /data/tripwire/lib/tripwire/report/localhost.localdomain-20171130-170231.twr
#设置 crontab
crontab -e
00 10 * * * su /home/tripwire/sbin/tripwire --check|mail -s "tripwire report" example@xxx.com
yum方法安装Tripwire
yum install epel-release
yum install tripwire -y
这一步使用密码为Tripwire生成一个站点(site)密钥和一个本地(local)密钥。这可以帮助保护Tripwire免受未经授权的访问。
本地密钥用于数据库文件,站点密钥用于配置文件和策略文件。您需要记住自己给出的密码,因为您更新策略文件或数据库时需要输入这些密码。
下面的命令生成密钥:
tripwire-setup-keyfiles
接着会要求你输入“site keyfile”口令和“local keyfile”口令,各两遍
初始化数据库:tripwire --init
修改Tripwire策略vim /etc/tripwire/twpol.txt
修改完成后,更新策略
tripwire -m p /etc/tripwire/twpol.txt
Parsing policy file: /etc/tripwire/twpol.txt
Please enter your local passphrase:
Please enter your site passphrase:
# 执行检查,默然情况下,每天会进行一次例行检查:
tripwire --check
查看报告
twprint --print-report --twrfile /data/tripwire/lib/tripwire/report/xxxxx.twr
#设置 crontab
crontab -e
00 10 * * * su /home/tripwire/sbin/tripwire --check|mail -s "tripwire report" example@xxx.com