李洋 駱寒 浙江師范大學
盡管Linux在安全設計上具有一定的先天優(yōu)勢,但也絕不像有些人們認為的“絕對安全”。近年來,基于Linux的安全事件頻繁發(fā)生。世界上沒有絕對安全的操作系統(tǒng),如果疏于管理,沒有正確配置,任何操作系統(tǒng)都有可能被攻擊,入侵。因此,無論是Linux還是Windows,在安全問題方面最大的問題不是操作系統(tǒng)本身,而是用戶有沒有實踐一些基本的安全準則。
Linux可以利用啟動盤來啟動計算機,或利用LILO進入單用戶模式,無須使用root口令而獲得root用戶具有的權限。這是一個很大的安全問題,因為它使root口令失去了意義。
Linux存放的是用戶口令明文的One Way Hash運算的結果,加上用戶選擇易記口令等因素,容易采用詞典攻擊,同時用戶遠程登錄時傳送的是口令明文,易于竊聽。
SETUID是為解決某些普通用戶在執(zhí)行程序時須暫時獲得root特權的程序執(zhí)行問題,這也是一個很大的安全隱患。
當輸入數(shù)據(jù)超出所分配存儲空間而系統(tǒng)又沒有對此作直接處理時將產(chǎn)生緩沖區(qū)溢出問題。
(1)直接竊聽取得root密碼或者取得某位特殊User的密碼,而該位User可能為root,再獲取任意一位User的密碼,因為取得一般用戶密碼通常很容易。
(2)使用命令就可以知道該臺計算機上面的用戶名稱。然后找這些用戶下手,并通過這些容易入侵的用戶取得系統(tǒng)的密碼文件/etc/passwd,再用密碼字典文件搭配密碼猜測工具猜出root的密碼。
(3)利用一般用戶在/tmp目錄放置著的SetUID的文件或者執(zhí)行著SetUID程序,讓root去執(zhí)行,以產(chǎn)生安全漏洞。
(4)利用系統(tǒng)上需要SetUID root權限的程序的安全漏洞,取得root的權限,例如:pppd。
(5)從.rhost的主機入侵。因為當用戶執(zhí)行rlogin登錄時,rlogin程序會鎖定.rhost定義的主機及賬號,并且不需要密碼登錄。
(6)修改用戶的.login、cshrc、.profile等Shell設置文件,加入一些破壞程序。用戶只要登錄就會執(zhí)行。
(7)只要用戶登錄系統(tǒng),就會不知不覺地執(zhí)行Backdoor程序(可能是Crack程序),它會破壞系統(tǒng)或者提供更進一步的系統(tǒng)信息,以利Hacker滲透系統(tǒng)。
(8)Hacker會通過中間主機聯(lián)機,再尋找攻擊目標,避免被用逆查法抓到其所在的真正IP地址。
一般來說,對Linux系統(tǒng)的安全設定包括取消不必要的服務、限制遠程存取、隱藏重要資料、修補安全漏洞、采用安全工具以及經(jīng)常性的安全檢查等。下文將介紹幾種方法,針對Linux系統(tǒng)來增加其安全性。
早期的Unix版本中,每一個不同的網(wǎng)絡服務都有一個服務程序在后臺運行,后來的版本用統(tǒng)一的/etc/inetd服務器程序擔此重任。Inetd是Internetdaemon的縮寫,它同時監(jiān)視多個網(wǎng)絡端口,一旦接收到外界傳來的連接信息,就執(zhí)行相應的TCP或UDP網(wǎng)絡服務。
在Linux中有兩種不同的服務型態(tài):一種是僅在有需要時才執(zhí)行的服務;另一種是一直在執(zhí)行的永不停頓的服務。提供文件服務的NFS服務器和提供NNTP新聞服務的news都屬于這類服務,如果沒有必要,最好取消這些服務。
用戶在登陸Linux系統(tǒng)前會被要求輸入密碼,這些密碼被保存在/etc/password文件中。雖然文件本身經(jīng)過加密,但一般用戶可以利用密碼破譯工具猜測出密碼。
這里給出一個較為安全的方法,即設定影子文件/etc/shadow,只允許有特殊權限的用戶才可以訪問該文件。在Linux系統(tǒng)中,如果要采用shadow文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡便的方法是采用插入式驗證模塊(PAM)。Linux系統(tǒng)管理人員只需花費幾小時去安裝和設定PAM,就能大大提高Linux系統(tǒng)的安全性,把很多攻擊阻擋在系統(tǒng)之外。
用戶賬號具有安全等級,這是因為在Linux上每個賬號可以被賦予不同的權限,因此在建立一個新用戶ID時,系統(tǒng)管理員應該根據(jù)需要賦予該賬號不同的權限,并且歸并到不同的用戶組中。
FTP服務與前面講的Telnet服務一樣,用戶名和用戶密碼也是明文傳輸?shù)摹R虼?,為了系統(tǒng)的安全,必須通過對/etc/ftpusers文件的配置,禁止root,bin,daemon,adm等特殊用戶對FTP服務器進行遠程訪問,通過對/etc/ftphosts的設定限制某些主機不能連入FTP服務器,如果系統(tǒng)開放匿名FTP服務,則任何人都可以下載文件(有時還可以上載文件),因此,除非特別需要一般應禁止匿名FTP服務。