Tripwire - 文件完整性检查¶
Tripwire 是一个文件完整性检查程序,用于监控指定文件是否变更,这些变更包含(但不限于):
- inode
- 时间戳
- 文件大小
- 文件权限和所有权属性
- 哈希值
- 文件类型
初始化时,Tripwire 扫描文件系统,把每个文件的校验值存储到数据库中,建立正常文件的基线,下一次扫描时,将文件的校验值和数据库中的校验值进行对比,如果校验值不一样,它会通过电子邮件警报或日志报告任何异常情况。
安装¶
apt-get install tripwire
安装期间需要配置密码,Site passphrase 用于加密 tw.cfg 和 tw.pol ,Local passphrase 用于加密数据库和 report 文件
配置¶
- tw.cfg 是 Tripwire 的加密配置文件,twcfg.txt 则是该文件未加密的状态
- tw.pol 是 Tripwire 的加密策略文件,twpol.txt 则是该文件未加密的状态
- local.key 是本地密钥,用于保护数据库
- site.key 是站点密钥,用于保护tw.cfg 和 tw.pol
使用¶
调整策略文件tw.pol¶
vi twpol.txt
twadmin --create-polfile --polfile tw.pol -S site.key twpol.txt
显示策略文件
twadmin --print-polfile
调整配置文件tw.cfg¶
``vi twcfg.txt``
``twadmin --create-cfgfile --cfgfile tw.cfg -S site.key twcfg.txt``
显示配置文件
twadmin --print-cfgfile
读取检测结果¶
twprint --print-report -r /var/lib/tripwire/report/*.twr
更新数据库¶
如果文件的变更是正常的,那么应该更新数据库来忽略这次变更
tripwire --update -r /var/lib/tripwire/report/*.twr
执行该命令之后,您就进入了一个编辑器。搜索所报告的文件名。所有侵害或更新都在文件名前面有一个 [x]。
如果您希望接受这些更改为正当的,则只需保存退出文件即可。Tripwire 不再报告此文件。如果您想要这个文件不被添加到数据库,那么请删除 ‘x’。
保存文件并退出编辑器时,若有数据库更新发生,会提示您输入密码以完成该过程。如果没有更新发生,那么 Tripwire 会通知您的,并且不需要输入密码。