现在,Tripwire自身已经完全就绪,接下来我们要做的事就是用它来执行完整性检查。
四、维护策略文件和配置文件 如何查看策略和配置 如果您想浏览一下Tripwire的策略和配置情况,但他们是以二进制的形式存放或当前缺失,请用下列命令:
生成有效配置文件
# cd /etc/tripwire
# twadmin --print-cfgfile > twcfg.txt |
生成有效策略文件
# cd /etc/tripwire
# twadmin --print-polfile > twpol.txt |
因为有效配置文件和策略文件已经加密和签名,所以他们是以密文的形式存放。如果想浏览他们的话,需要先解密:将其转换成明文的形式。为安全起见,一般建议在对他们重新进行签名之后将明文形式的配置和策略文件删除。
需要注意的是,尽管我们可以将twadmin的输出重定向到任何文件当中,但安装脚本twinstall.sh却要求明文形式的策略和配置文件名为twcfg.txt和twpol.txt。
修改策略文件和配置文件 如果想改变Tripwire所检查文件和目录的话,或者想改变Tripwire的默认行为,那该怎么办呢?请按如下所示来进行:
首先,从明文文件中提取出策略和配置:
# cd /etc/tripwire
# twadmin --print-polfile > twpol.txt
# twadmin --print-cfgfile > twcfg.txt |
策略文件twpol.txt和配置文件twcfg.txt的修改可以利用常见的文本编辑器来完成。对于修改过的策略文件twpol.txt和配置文件twcfg.txt文件,需要对他们进行再次签名:
# twadmin --create-cfgfile --cfgfile /etc/tripwire/tw.cfg \
--site-keyfile site_key etc/tripwire/twcfg.txt
# twadmin --create-polfile --cfgfile /etc/tripwire/tw.cfg \
--site-keyfile site_key etc/tripwire/twpol.txt |
然后,我们需要重新初始化数据库:
# tripwire --init
# rm twcfg.txt twpol.txt |
需要注意的是,我们只能对明文形式的策略和配置文件进行编辑,所以除非已有明文文件,否则必须先将加密签名的策略和配置文件转换成明文形式。另外,当在修改文件时,可能会遇到以下消息:
### Error: File could not be opened |
这说明Tripwire没有找到目标文件,如果是该文件的确不存在的话,我们就需要从策略和配置文件中去掉对该文件的引用(或将其注释出来也可以),并对策略文件重新签名。如果只是在完整性检查之后简单地更新一下数据库的话,那完全没必要严格按上述步骤来处理;但是对策略或配置文件作了修改后却必须这样处理。
五、配置完整性检测 基本的完整性检测配置 完整性检验的目的在于检查一下自从上次Tripwire对文件作了快照以后,我们的文件是否发生了变动,我们可以简单通过以下命令来达到此目的:
这是一条最基本的命令,它能告诉我们系统是否被修改了。它根据在策略文件中规定的规则,利用Tripwire数据库跟文件系统当前状态加以对比,之后将比较结果写入标准输出,并将其加盖时间戳、签名,然后作为一份Tripwire报告存放起来。另外,我们还可以针对数据库中的单个或多个文件进行完整性检查。若Tripwire的策略中包括以下规则:
(
rulename = "My funky files",
severity = 50
)
{
/sbin/e2fsck -> $(SEC_CR) ;
/bin/cp -> $(SEC_CRIT) ;
/usr/tmp -> $(SEC_INVARIANT) ;
/etc/csh.cshrc -> $(SEC_CONFIG) ;
} |
那么您就可以用以下命令来查看选中的文件和目录:
# tripwire --check /bin/cp /usr/tmp |
若要查看一条规则所对应的所有文件,用以下命令:
# tripwire --check --rule-name "My funky files" |
也可以查看严重性大于等于特定值的所有规则,如下所示:
# tripwire --check --severity 40 |
关于策略文件的有关语法,请参阅有关手册或查看联机帮助:
$ tripwire --check --help |