Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
不少人都有个误区,认为Unix系统受到攻击就一定是系统上的技术漏洞。实际上更多的系统安全问题出在管理的疏忽上。只要加强安全管理,就可以避免绝大部分的网络攻击。下面就来介绍一下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服务器,请注意它的默认主页,防止它公布那些不该公布的消息。
以上就是Unix系统如何进行安全管理的全部内容了。对于系统管理员来说来说,一定要加强安全意识。如果Unix出现了故障,要能够判断出是机械故障还是遭到了人为的攻击。
Linux是一套免费使用和自由传播的类Unix操作系统
|