Tripware是目前最为著名的系统完整性检查的工具,该软件可以帮助我们判断系统的一些重要文件是否被入侵者修改过,对每个要监控的文件生成一个数字签名放入数据库中,比对现有的数字签名和保留的开始的数字签名是否一致,来判断这个文件是否被改过。Tripwire是一个非常贵的商业软件,但是它有自由软件版本,使用GPL许可证,虽然与商业版相比功能相对欠缺,但是已经足够我们使用了。
重要提示:完整性检查工具的安装最好是在linux系统安装刚完成的时候进行,因为完整性检查只有保留了系统文件的初始状态,才能确保系统文件的完整性。
1、 安装Tripwire
sudo apt-get install tripwire
选择服务器配置类型
输入邮件名
创建site密钥 :
创建local密钥
重建Tripwire配置文件
重建策略文件
输入site-key密码:
创建site秘钥命令:
twadmin --generate-keys --site-keyfile /etc/tripwire/site.key
输入localkey的密码:
创建local秘钥命令:
twadmin --generate-keys --site-keyfile /etc/tripwire/`hostname`-local.key
安装成功。
/etc/tripwire目录中的文件如下:
know_action@jx001:~$ ls /etc/tripwire/
jx001-local.key site.key tw.cfg tw.pol twcfg.txt twpol.txt
jx001-local.key:加密本地秘钥文件
site.key:加密站点秘钥文件
tw.cfg:加密配置变量文件
tw.pol:加密策略文件
twcfg.txt:变量文件
twpol.txt:策略文件
twcfg.txt twpol.txt:无需保留在当前位置,建议配置完成删除,
2、 配置文件twcfg.txt,策略文件twpol.txt
3、 签名
利用site密钥对twcfg.txt进行签名,并将签名后的文件存为tw.cfg:
twadmin --create-cfgfile --cfgfile /etc/tripwire/tw.cfg --site-keyfile /etc/tripwire/site.key /etc/tripwire/twcfg.txt
利用site密钥对twpol.txt进行签名,并将签名后的文件存为tw.pol:
twadmin --create-polfile --cfgfile /etc/tripwire/tw.cfg --site-keyfile /etc/tripwrie/site.key /etc/tripwire/twpol.txt
4、 初始化
sudo tripwire --init
需要输入建立local key时我使用的密码,初始化完成后,tripwire会报告已经创建数据库文件/var/lib/tripwire/jx001.twd,定期备份。
5、 一次性检测
对所有定义的文件进行一次检测
sudo tripwire --check
生成一次检查性报告/var/lib/tripwire/report/jx001-20210305-104535.twr
6、 查看历史报告,可以看到更详细的信息
sudo twprint --print-report --twrfile /var/lib/tripwire/report/jx001-20210305-104535.twr
7、 删除twpol.txt和twcfg.txt文件
使用site.key对策略文件和配置文件加密和签名后,为了安全,都会把明文的twcfg.txt和twpol.txt文件删掉,如果需要修改策略和配置文件,可以适用命令个恢复:
twadmin --print-cfgfile > twcfg.txt
twadmin --print-polfile > twpol.txt
修改完成称后,再签名并初始化数据库即可。