ruanyongjie 发表于 2008-8-10 13:27:11

Unix的管理安全---容易出问题的地方

容易出问题的地方
finger是UNIX平台上一种很普通的工具,使用它的目的是提供用户在给定系统上的一些有关信息。而一台Unix主机最容易出问题的地方是fingerd,就是finger的守护进程,关于它的工作原理在很多UNIX书上都有介绍,但它的缺点是提供的消息实在太多了。一个熟练运用finger的人可以在很短的时间内攻破一台fingerd没关的机器,这不是危言耸听,SUN Solaris的fingerd可以提供主机上所有在线用户名,所有用户名,比/etc/passwd更详细的用户信息。例如我对一台SUN机器提出finger请求,查询root情况,如果它的fingerd没有关闭或被替换,那么它将会告诉我如下信息:

Login name: root In real life: Super-User
Directory: / Shell: /sbin/sh
Last login Fri Mar 26 16:54 on pts/2
New mail received Sat Mar 27 23:10:37 1999;
unread since Wed Dec 23 09:56:10 1998
No Plan.

这样我就可以得到如下信息:

(1)root的真名是Super-User(有些勤劳的系统管理员会把自己的名字写在这儿,而且把root的密码设成自己的名字!!);

(2)root的根目录在/下,有时黑客以普通用户身份侵入一台机器后发现/etc/passwd是root读写,那么他通过查看用户目录也能获得主机上大部分用户名;

(3)root的Shell环境是/sbin/sh,如果是/bin/passwd,证明用户登录主机只能修改密码;

(4)root上次登录机器是在1999.3.26 16:54;

(5)root有新信是1999.3.26到的,但是他从1998.12.23就没看过信。

因为操作系统的设计者认为finger是查询用户用的,当然是输出的信息越详细越好。但是在目前国内用户对口令安全认识还不够的情况下,用户口令是用户名、12345、abc123或管理员分配的默认口令还不能避免。除了对主机的finger外,路由器也有finger。尤其是接入路由器,它可以输出当前连接者的用户名及IP地址。实际上也造成了主机用户名的泄露。

除了finger命令外,sendmail带的EXPN命令也是可以泄露用户名的一个途径。当用Telnet登录主机sendmail端口时,用EXPN命令可以试出主机上的用户。比如expn root,如果有用户名叫root那么将返回用户的电子邮件地址,如果没有的话将输出User unknown。更危险的是用EXPN命令查到一个带别名的邮件地址时,返回的将是这个别名抄送的所有电子邮件地址。httpd配置不合理或CGI程序编写有问题,用户可以非法获取主机信息,存取文件系统。WWW服务中的安全问题主要出在CGI程序上。

对于SGI的机器来讲有两点比较特殊。第一,IRIX安装后有几个系统默认用户没有密码,请使用SGI机器的管理员们一定注意;第二,如果安装了IRIX的WWW服务器,请注意它的默认主页,防止它公布那些不该公布的消息。
页: [1]
查看完整版本: Unix的管理安全---容易出问题的地方