对Unix系统管理员来说,主机系统的安全一直是个课题,一方面管理员通过更新patch,安装软硬 件防火墙等手段努力使自己的系统可靠性增强,而另一方面Unix系统的漏洞总是不断被发现并被公布出来,如BUGTRAQ这样的安全列表,从这个角度上可以很绝对的说,互联网上没有安全的主机.
任何一台放在Internet上的主机被入侵的潜在可能性是不可逃脱的,而且,对入 侵者而言,利用漏洞进入系统往往只是第一步,如果想得到更多的。
如超级用户的密码,数据库 的口令等,往往需要下点功夫,最便捷也是最有效的就是改动或特洛伊化受侵害的主机上的文件,如放置自己的监听程序,替代某些关键文件,修改编辑可信文件,设置suid文件等.
一些管理员通Unix系统自带的命令来检查文件的安全性,如检查文件生成的时间戳,但这样的可靠 性微乎其微,有经验的入侵者可以很轻松的修改文件生成时间,有兴趣的管理员可以试试以下操作:
secu.Unix.org# echo " " > /.rhosts
这一步生成一个.rhosts文件,看看它的时间.
secu.Unix.org# ls -l /.rhosts
-rw-r--r-- 1 root other 4 Jul 2 16:45 /.rhosts
好,我们如下操作看看会怎么样?
secu.Unix.org# touch -r /bin/sh /.rhosts
有什么效果? 我们再次ls –l看一下,
secu.Unix.org# ls -l /.rhosts
-rw-r--r-- 1 root other 4 Apr 5 16:32 /.rhosts
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
我们看到时间戳已经变了.变成了一个”老”文件,这样很可能就会逃脱管理员的视线。 又比如,入侵者替换掉了su文件,在正当用户每次试图su时,这个特洛伊化的su文件都会读取口令 并将口令记载下来,然后才把控制权交给真正的su程序,口令通过这种途径泄密了,虽然这不是管 理员所期望的,但毕竟Unix系统太大太复杂,发现起来很困难.
Tripwire就是解决这一问题的文件系统完整性检查的工具,它采用的技术核心就是对每个要监控 的文件产生一个数字签名,保留下来。当文件现在的数字签名与保留的数字签名不一致时,那么 现在这个文件必定被改动过了.具体到监控项目,在Tripwire的配置文件中有如下相应说明:
access permissions and file mode settings, including effective execution settings
inode number in the file system
number of links
user ID of the owner
group ID of the group of users to which access may be granted
size of the item
date and time the item was last accessed, the last modification made to
the item, and the creation date and time associated with the item's inode
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
由上,我们可以看到Tripwire对Unix系统文件的管理面是很宽的。
【编辑推荐】