对Unix操作系统管理员来说,主机系统的安全一直是个课题,一方面管理员通过更新patch,安装软硬件防火墙等手段努力使自己的系统可靠性增强,而另一方面Unix操作系统的漏洞总是不断被发现并被公布出来,如BUGTRAQ这样的安全列表,从这个角度上可以很绝对的说,互联网上没有安全的主机。
任何一台放在Internet上的主机被入侵的潜在可能性是不可逃脱的,而且,对入侵者而言,利用漏洞进入系统往往只是第一步,如果想得到更多的,如超级用户的密码,数据库的口令等,往往需要下点功夫,最便捷也是最有效的就是改动或特洛伊化受侵害的主机上的文件,如放置自己的监听程序,替代某些关键文件,修改编辑可信文件,设置suid文件等。
一些管理员通Unix操作系统自带的命令来检查文件的安全性,如检查文件生成的时间戳,但这样的可靠性微乎其微,有经验的入侵者可以很轻松的修改文件生成时间,有兴趣的管理员可以试试以下操作:
- # echo "+ +" > /.rhosts
- 这一步生成一个.rhosts文件,看看它的时间。
- # ls -l /.rhosts
- -rw-r--r-- 1 root other 4 Jul 2 16:45 /.rhosts
- 好,我们如下操作看看会怎么样?
- # touch -r /bin/sh /.rhosts
- #ls -l /.rhosts
- -rw-r--r-- 1 root other 4 Apr 5 16:32 /.rhosts
我们看到时间戳已经变了。变成了一个"老"文件,这样很可能就会逃脱管理员的视线。比如,入侵者替换掉了su文件,在正当用户每次试图su时,这个特洛伊化的su文件都会读取口令并将口令记载下来,然后才把控制权交给真正的su程序,口令通过这种途径泄密了,虽然这不是管理员所期望的,但毕竟Unix操作系统太大太复杂,发现起来很困难。
【编辑推荐】