对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
我们看到时间戳已经变了.变成了一个”老”文件,这样很可能就会逃脱管理员的视线。 又比如,入侵者替换掉了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
由上,我们可以看到Tripwire对Unix系统文件的管理面是很宽的。
【编辑推荐】