当前位置:Linux教程 - 网络安全 - Unix的管理安全

Unix的管理安全

大多数人认为安全问题都是技术方面的,黑客都是具有高超编程技术的计算机天才,事实不是这样,大部分黑客只是比一般的网络使用者更有耐心更细心,他们利用一般用户使用不到的功能或系统管理员的马虎对系统进行入侵。据CERT统计80%的安全问题出自于管理的漏洞,也就是说绝大部分安全漏洞是系统管理员的操作失误导致的(这种失误包括授予普通用户过多的权利和没有对自己的网络拓扑结构透彻地分析),而目前大多数安全方面的文章都是讨论防火墙的运用。我不是反对运用防火墙保护网络的安全,但是大部分毛病既然可以使用管理的角度来防止又何必非要等防火墙呢?

当然任何操作系统都有这样或那样的技术漏洞,但是在一般情况下利用这些技术漏洞获得超级用户权利的前提是拥有本机的Shell,如果没有一个可以操作的Shell,黑客是无法运用诸如缓冲区溢出、sendmail bug等程序来获得超级用户的权限的。本文即介绍从管理的角度来保障系统的安全。从管理上能防止大多数一般黑客的攻击,但是并不是说安全能够完全通过管理来实现。对于那些对操作系统十分熟悉的黑客来说,即使没有Shell帐户,他仍然可能入侵到这台机器里,比如利用IP欺骗和一些特定操作系统的技术漏洞。而且黑客如果只是想让某台机器瘫痪而不是盗取信息,他多半会用DOS攻击(拒绝服务),就是让主机一直处理无用的信息使之不能正常工作。对于敏感网络建立放火墙应当和建立网络环境一样重要,就目前的情况来看只要防火墙设置合适,局域网的安全还是有保障的。然而系统管理员需要有一定的安全意识,对于机器的故障情况能够判断出是技术故障还是被人攻击了。

容易出问题的地方
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服务器,请注意它的默认主页,防止它公布那些不该公布的消息。