歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix資訊

講解安全Unix操作系統關機用戶

Unix操作系統有很多值得學習的地方,這裡我們主要介紹Unix操作系統中的安全問題。本文介紹由於技術上認識不足而造成的安全問題,並給出解決方法。

關機用戶的安全問題。

這樣,雖然不能用DEL鍵中斷或su命令等手段非法侵入Unix操作系統, 但利用一些網絡遠程命令卻有可能通過關機用戶侵入Unix操作系統,甚至進入超級用戶root的sh狀態。

1.提出問題

假算機A中有一個關機用戶名為shutdown,其設置和權限控制按“最安全的關機用戶”的方法設定,因為系統管理員、軟件管理員、一般操作員都要使用該用戶, 故而未對其設置密碼。設計算機A的IP地址為129.15.21.77。

此時如果想從另一台計算機假設為計算機B中向計算機A發起攻擊,則利用Unix操作系統網絡遠程命令, 通過計算機A的“最安全的關機用戶”:shutdown即可達到目的。首先在計算機B中的/etc/hosts文件中加入,然後在計算機B中進入任何一個普通用戶,鍵入命令或 rcmd hostshut -l shutdown vi /etc/shadow

這樣,該普通計算機用戶已在計算機B中用vi命令打開了計算機A中包括root超級用戶在內的所有用戶的密碼文本。接下來只要改動或刪除這些密碼,就可以輕松地用telnet、rlogin等遠程命令登錄到計算機A的任何一個用戶中。如果此時闖入的是一個惡意用戶, 對計算機A來說其後果將不堪設想。

2.解決問題

為了解決這個安全問題,首先可以封閉inetd守護進程中的部分遠程功能,如telnet、shell、login、exec等,方法是直接用vi修改/etc/inetd.conf文件,在上述功能前添加#號,然後執行/etc/inetd命令即可。但這樣大大削弱了Unix操作系統的網絡功能,並可能影響到其他計算機應用方案的實施。

經過實踐,筆者發現了一種相當安全的關機方法,該方法采用了輸入/輸出重定向、Unix啞終端技術和Unix定時系統來實現安全的關機。具體做法如下:

首先在超級用戶中輸入如下命令,使tty12終端成為啞終端:

由於需要在啞終端tty12中運行關機程序,而啞終端的窗口在原始模式下工作, 所以不能用Unix操作系統命令read進行輸入,必須自己編寫一個能在原始模式下實現輸入/輸出功能的程序。用cc -lcurses命令編譯以下源程序,並生成可執行文件safehalt:file://安全關機程序 WINDOW *win char til[]=“是否現在關機?

  1. 確認請按yes:”,s1[4],sum[100]  
  2. keypadstdscr,TRUE clear  
  3. ioctl0,TCGETA,&term  
  4. keypadstdscr,FALSE echo 

最後編制一個Unix的shell腳本atsh,包括以下內容:執行一次atsh腳本程序後,該程序以後會自動執行。

這樣每天在tty12屏幕上都會自動運行一個關機程序,當輸入yes後,機器將被關閉,當然也可以在程序中設置關機密碼。該方法徹底排除了由關機用戶引起的安全性問題。

Copyright © Linux教程網 All Rights Reserved