不少人都有個誤區,認為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出現了故障,要能夠判斷出是機械故障還是遭到了人為的攻擊。