如果有人侵入了您的系统,在您的系统中放置了木马和后门,您怎么才能知道呢?tripwire 就是这样一个对系统做完整性检查的工具。它是目前最为著名的 unix 下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来。当文件现在的数字签名与保留的数字签名不一致时,那么现在这个文件必定被改动过了。
当Tripwire 运行在数据库生成模式时,会根据管理员设置的一个配置文件对指定要监控的文件进行读取,对每个文件生成相应数字签名,并将这些结果保存在自己的数据库中,在缺省状态下,MD5 和 SNCFRN(Xerox 的安全哈希函数)加密手段被结合用来生成文件的数字签名。除此以外,管理员还可使用 MD4,CRC32,SHA 等哈希函数,但实际上,使用上述两种哈希函数的可靠性已相当高了,而且结合 MD5 和 sncfrn 两种算法(尤其是 sncfrn)对系统资源的耗费已较大,所以在使用时可根据文件的重要性做取舍。当怀疑系统被入侵时,可由 Tripwire 根据先前生成的,数据库文件来做一次数字签名的对照,如果文件被替换,则与 Tripwire 数据库内相应数字签名不匹配, 这时 Tripwire 会报告相应文件被更动,管理员就明白系统不"干净"了。
可以从下面站点获得 tripwire:
http://www.tripwiresecurity.com
"/usr/TSS/policy/twpol.txt" 文件是纯文本的策略文件,设置 Tripwire 需要检测哪些文件和目录(也叫系统对象)。其中有一个规则设定如何检测需要监控的对象,还有一个特性(property)设置如何检测。特性掩码(property mask)设定进行一致性检验的时候单独文件的特性(property)。属性(Attributes)帮助规定成组的策略如何运作。
您可以根据您的需要修改 twpol.txt 这个策略文件,然后当第一次准备使用策略文件的时候,用下面的安装它:
[root@sound]# twadmin --create-polfile /usr/TSS/policy/twpol.txt |
第一次创建基准数据库:用下面的命令
[root@sound]# tripwire { --init } |
一致性检查把当前文件系统中的对象及其属性和 Tripwire 数据库中的进行比较。一旦发现异常情况,就会在标准输出上显示出来,报表文件也会被保存下来,以后可以用 "twprint" 命令查看:
[root@sound]# tripwire { --check } |
用下面的命令进行交互式的检查:
[root@sound]# tripwire --check --interactive |
用下面的命令进行一致性检查并用email发送报表:
[root@sound]# tripwire --check --email-report |
用下面的命令更新数据库:
[root@sound]# tripwire --update -r /usr/TSS/report/sound.openarch.com-200001-021854.twr |
"-r"参数读取指定的报表文件(deep.openarch.com-200001-021854.twr)。因为当前的配置文件的 REPORTFILE 变量使用$(DATE),所以"-r"这个参数是必须的。
用下面的命令更新策略文件:
[root@deep]# tripwire --update-policy /usr/TSS/policy/newtwpol.txt |
在默认情况下,策略更新模式使用"--secure-mode high"。如果文件系统在最近的一次数据库更新之后发生了变化,而且这个变化会违反策略文件中定义的规则,那么在高安全级别的模式下运行你可能会遇到一些问题。例如这种情况:其他的管理员在策略更新的过程中,改变了一些文件。为了解决这个问题,确信在高安全级别的模式下所有的变化都是正常的之后,可以采用低级别的安全模式更新策略文件:
用下面的命令在低级别的安全模式下更新策略文件:
[root@sound]# tripwire --update-policy --secure-mode low /usr/TSS/policy/newtwpol.txt |
- 上一篇:Linux的三个日志管理工具
- 下一篇:Portsentry网络反扫描工具