我們對有關Unix網絡的安全性問題進行一下簡單的論述,隨著技術的進步和人們對安全問題的認識的深入,總是不斷有安全問題被暴露出來,並被加以修正。本文介紹兩個由於技術上認識不足而造成的安全問題,並給出解決方法。
關機用戶的安全問題
近年來,許多文章相繼介紹了一種所謂最安全的Unix的關機用戶。其主要思想是直接在/etc/passwd文件或/etc/shadow文件中的關機用戶一行的末尾加入/etc/shutdown命令或加入/etc/haltsys命令以代替/bin/sh命令。
這樣即使有人知道了關機用戶的密碼(或沒有設置關機用戶的密碼),也不能通過關機用戶進入Unix系統,關機用戶被嚴格界定為有且僅有關機功能的超級用戶。這一關機用戶已被公認為“最安全的關機用戶”。
該用戶和其他的關機方法相比安全性有所提高,特別是在單機狀態下,其安全性值得信賴。但令人遺憾的是,該關機用戶在Unix網絡中也存在著一定的安全隱患。
這主要是由關機用戶本身的用途所造成的,首先由於網絡中的用戶幾乎都需要關機用戶,所以關機用戶往往不設密碼或由多人同時掌握密碼;另一方面要關閉Unix系統就必須使關機用戶具有超級用戶的權限。
這樣,雖然不能用DEL鍵中斷或su命令等手段非法侵入Unix系統, 但利用一些網絡遠程命令卻有可能通過關機用戶侵入Unix系統,甚至進入超級用戶root的sh狀態。
提出Unix網絡問題
假設計算機A中有一個關機用戶名為shutdown,其設置和權限控制按“最安全的關機用戶”的方法設定,因為系統管理員、軟件管理員、一般操作員都要使用該用戶, 故而未對其設置密碼。設計算機A的IP地址為129.15.21.77。
此時如果想從另一台計算機(假設為計算機B)中向計算機A發起攻擊,則利用Unix網絡遠程命令, 通過計算機A的“最安全的關機用戶”:shutdown即可達到目的。首先在計算機B中的/etc/hosts文件中加入如下代碼:
129.15.21.77 hostshut
然後在計算機B中進入任何一個普通用戶,鍵入以下命令:
- rcmd hostshut -l shutdown vi /etc/passwd
- 或 rcmd hostshut -l shutdown vi /etc/shadow
這樣,該普通計算機用戶已在計算機B中用vi命令打開了計算機A中包括root超級用戶在內的所有用戶的密碼文本。接下來只要改動或刪除這些密碼,就可以輕松地用telnet、rlogin等遠程命令登錄到計算機A的任何一個用戶中。
如果此時闖入的是一個惡意用戶, 對計算機A來說其後果將不堪設想。Unix網絡中的知識,我們就講解到這裡了。