利用Tripwire检测系统完整性
Posted in FreeBSD, Linux, 安全相关 on 8月 18th, 2009 by 飘(piao2010) – 4 Comments文章是转载的,原作者不明,是网络上比较详细的tripwire参考资料了,希望对大家有用。
完整性是安全要求的基本要求之一,本文将向读者详细介绍如何利用开源完整性检测工具Tripwire来检查系统的完整性。
一、系统的完整性
我们知道,系统的正常运行要靠系统程序的正常运转,而程序的运行又与其可执行文件休戚相关。所以,维护系统完整性是确保系统安全的一项基本工作。我们这里的系统完整性是指系统中可执行文件的完整性,也就是说系统中的程序文件没被非法修改。
如果可执行文件被恶意修改的话,如改变、插入或删除等,将直接威胁到系统的安全性。大多数情况下,黑客渗入到系统后会立即修改某些系统文件以创建后门,如用准备好的替代物换掉系统中原有的/bin/login文件以便使其不用口令便能登陆系统;然后再修改某些文件,例如/bin/ls等,以便隐藏其行径。如果我们没能发现这些改变的话,那无异于身处险境却还以为很安全,这就为黑客的长期入侵提供了非常有利的条件,同时也意味着我们的损失将更大!为了改变这种被动的局面,我们需要一种文件完整性检查工具,使得当系统文件被恶意修改后能及时发现,从而为进一步处理创造条件。
二、Tripwire概述
Tripwire的运行机理
Tripwire是一款最为常用的开放源码的完整性检查工具,它生成目标文件的校验和并周期性的检查文件是否被更改。下面我们简单介绍一下Tripwire的运行机理。与大多数完整性检查程序相同,对于需要监视的文件,Tripwire会使用校验和来为文件的某个状态生成唯一的标识(又称为”快照”),并将其存放起来以备后用。当Tripwire程序运行时,它先计算新的标识,并于存放的原标识加以比较,如果发现不匹配的话,它就报告系统管理人员文件已经被修改。接下来,系统管理员就可以利用这个不匹配来判断系统是否遭到了入侵。例如,如果Tripwire已经为/bin/login和/bin/ls存放了快照,那么对它们的尺寸、inode号、权限以及其他属性的任何修改,都逃不过Tripwire的火眼金睛。尤其是对于文件内容的修改,即使只改变了一个字节,Tripwire也能察觉得到, read more »