Unix操作系統(tǒng)的安全性是眾所周知的。但是如果要你說出Unix系統(tǒng)到底安全在哪里,估計也沒有人能夠說出一個所以然來。
一、同一個命令不同用戶不同的權(quán)限。
Date命令是Unix系統(tǒng)的一個常用命令,其顯示了系統(tǒng)的日期與時間。但是不同的用戶角色其具有不同的功能。如是系統(tǒng)管理員用戶,則可以通過這個命令來更改系統(tǒng)時間。但是如果執(zhí)行這個命令的用戶是系統(tǒng)普通用戶,那么這個命令則只能夠顯示時間,而無法更改時間。也就是說,默認(rèn)情況下,只有系統(tǒng)管理員才可以更改系統(tǒng)時間,但是修改時間與查看時間用的是同一個命令。系統(tǒng)會自動去判斷當(dāng)前用戶是否有修改時間的權(quán)利。
這就是Unix系統(tǒng)中一個很有用的安全特性。一方面類似的功能采用同一個命令,方便了系統(tǒng)管理員的操作與維護(hù);另一方面系統(tǒng)會自動對命令的權(quán)限進(jìn)行審查,以保障用戶只能夠利用命令進(jìn)行與自己權(quán)限相符合的操作。從這里可以看出,Unix系統(tǒng)不僅在安全上有保障,其更加看重與安全和便利的一種結(jié)合。不會為了安全,而犧牲管理維護(hù)的便利性。
大家都知道,隨意更改系統(tǒng)的日期可能會給系統(tǒng)造成很大的負(fù)面影響,會使得一些作業(yè)計劃混亂。如系統(tǒng)當(dāng)前可能有多個進(jìn)程在后臺運(yùn)行,此時系統(tǒng)會根據(jù)進(jìn)程的優(yōu)先性、管理員定義的作業(yè)計劃等等安排好了這些命令進(jìn)程執(zhí)行的時間進(jìn)度表,規(guī)定在某個特定的時刻啟動這些作業(yè)或者進(jìn)程。此時如果允許一個非管理員員用戶隨意更改系統(tǒng)時間,則系統(tǒng)中的作業(yè)可能會亂了套。如系統(tǒng)管理員為了系統(tǒng)的安全,設(shè)置了每天中午12點30分對系統(tǒng)中的重要文件進(jìn)行備份。如果在中午12點的時候普通用戶修改了時間,把時間從12點改為了1點。那么此時系統(tǒng)就不會對系統(tǒng)重要文件進(jìn)行備份。若不幸的是,在第二天上午由于一些意外導(dǎo)致系統(tǒng)硬盤損壞或者其他系統(tǒng)故障,那么由于前一天沒有正常備份,則損壞的文件將無法修復(fù)?梢噪S意更改系統(tǒng)時間會導(dǎo)致很多難以預(yù)料的結(jié)果。
所以從這個date命令中就可以看出,Unix系統(tǒng)在安全設(shè)計上確實比其他操作系統(tǒng)略高一籌。同一個命令不同帳戶具有不同的操作功能,這讓Unix系統(tǒng)在安全與便利上達(dá)到了同一。
二、不提示具體的出錯信息。
Unix系統(tǒng)跟其他操作系統(tǒng)一樣,也是通過賬戶名與密碼來保證操作系統(tǒng)的基本安全性。但是,筆者認(rèn)為Unix在這方面可能考慮的更全面一點。
Unix系統(tǒng)是一個多用戶操作系統(tǒng)。通常情況下,Unix系統(tǒng)只允許擁有帳號和密碼的用戶登錄。用戶的帳號列表往往有系統(tǒng)管理員來進(jìn)行維護(hù)。系統(tǒng)管理員授予用戶使用計算機(jī)的權(quán)限,并為其計統(tǒng)帳號、口令等信息。當(dāng)系統(tǒng)出現(xiàn)提示信息要求用戶登錄時,用戶只能夠輸入系統(tǒng)管理員所提供的正確用戶名與密碼之后才能夠登陸到操作系統(tǒng)。如當(dāng)系統(tǒng)出現(xiàn)了logon提示符之后,就表示該系統(tǒng)終端允許某個用戶通過帳號與密碼進(jìn)行登錄。在輸入賬戶名之后,按下回車鍵之后,就需要輸入密碼。系統(tǒng)會要求用戶輸入準(zhǔn)確的密碼來進(jìn)行身份驗證。萬一用戶輸入密碼錯誤后(用戶名準(zhǔn)確),此時系統(tǒng)只會含糊的提示“login incorrect”(登陸不準(zhǔn)確)。而不會提示用戶到底錯在哪里,是錯在密碼錯誤又或者是用戶名輸入錯誤。
這個含糊的提示,將會給非法攻擊者造成一定的障礙。由于非法攻擊者不知道到底是密碼錯誤又或者是賬戶名錯誤,這會增加對方攻擊的成本;蛘哒f,這個提示對于攻擊者來說,或多或少有一些欺騙性。但是,這個措施卻可以很明顯的提高系統(tǒng)的安全性。或許有些員工會抱怨這么設(shè)計友好性太差。不僅會欺騙攻擊者,而且也會欺騙普通的用戶。不過從安全性來說,這個安全措施仍然是必要的。
另外值得一提的是,在用戶登錄時,Unix系統(tǒng)還跟其他操作系統(tǒng)一樣,提供了一種更高級別的安全措施。即當(dāng)用戶登錄到Unix系統(tǒng)時,根據(jù)系統(tǒng)安全策略,可以讓用戶強(qiáng)制更改管理員所賦予的口令。此時用戶最好能夠立即更改默認(rèn)口令,設(shè)置一個只有自己知道的口令(連管理員可能都不知道)。畢竟賬戶名或者口令若太多人知道的話,會給操作系統(tǒng)帶來一定的安全隱患。
當(dāng)Unix系統(tǒng)在登陸時如果用戶名或者密碼驗證錯誤,系統(tǒng)不會提供詳細(xì)的出錯信息,從而不讓非法攻擊者找到出錯的原因,增加其攻擊的難度。其實這些類似的安全措施,在Unix系統(tǒng)中是比比皆是。在后續(xù)的文章中,筆者可能還會多次談到這個安全特性。從這個小小的安全設(shè)計中,就可以看出Unix操作系統(tǒng)的安全確實不是吹的。
三、輸出中不帶有相應(yīng)的表頭。
利用命令who可以顯示當(dāng)前登陸用戶的詳細(xì)信息,如用戶名、登陸的途徑、登陸時間等內(nèi)容。在Linux系統(tǒng)中也有類似的功能。不過兩個系統(tǒng)有差異。
這個結(jié)果表示當(dāng)前系統(tǒng)的登陸者有兩個,都為Oracle(操作系統(tǒng)允許同一個賬戶通過不同的渠道登陸到操作系統(tǒng),這也是Unix系統(tǒng)的一個特性。在Linux操作系統(tǒng)中也可以實線類似的功能,但是在微軟操作系統(tǒng)中好像不行。后面會顯示用戶登錄的途徑、登陸系統(tǒng)的時間等等。但是讓很多Unix系統(tǒng)的初學(xué)者感到困擾的就是,在輸出結(jié)果中竟然沒有一個相應(yīng)的表頭來說明各個列的含義。這一點可能讓人看起來覺得Unix操作系統(tǒng)不怎么友好,但是卻可以保障Unix系統(tǒng)的安全性。如一些Unix系統(tǒng)的高級安全策略都是基于這個特性所實現(xiàn)的。
另外,由于這個用戶信息具有非常重要的價值,故對此進(jìn)行一些安全的防護(hù)就具有更大的現(xiàn)實意義。如系統(tǒng)管理員可以從who命令的輸出結(jié)果中抽取一部分?jǐn)?shù)據(jù)供下一個命令使用。
其實除了who命令之外,Unix系統(tǒng)類似的情況還有很多。正是這一個個的細(xì)節(jié)考慮,才保障了整個Unix系統(tǒng)的安全。
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|