隨著開源系統(tǒng)Linux的盛行,其在大中型企業(yè)的應(yīng)用也在逐漸普及,很多企業(yè)的應(yīng)用服務(wù)都是構(gòu)筑在其之上,例如Web服務(wù)、數(shù)據(jù)庫服務(wù)、集群服務(wù)等等。因此,Linux的安全性就成為了企業(yè)構(gòu)筑安全應(yīng)用的一個基礎(chǔ),是重中之重,如何對其進(jìn)行安全防護(hù)是企業(yè)需要解決的一個基礎(chǔ)性問題,基于此,本文將給出十大企業(yè)級Linux服務(wù)器安全防護(hù)的要點。
1、強(qiáng)化:密碼管理
設(shè)定登錄密碼是一項非常重要的安全措施,如果用戶的密碼設(shè)定不合適,就很容易被破譯,尤其是擁有超級用戶使用權(quán)限的用戶,如果沒有良好的密碼,將給系統(tǒng)造成很大的安全漏洞。
目前密碼破解程序大多采用字典攻擊以及暴力攻擊手段,而其中用戶密碼設(shè)定不當(dāng),則極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設(shè)定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設(shè)定密碼的過程中,應(yīng)盡量使用非字典中出現(xiàn)的組合字符,并且采用數(shù)字與字符相結(jié)合、大小寫相結(jié)合的密碼設(shè)置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護(hù)自己的登錄密碼。
在多用戶系統(tǒng)中,如果強(qiáng)迫每個用戶選擇不易猜出的密碼,將大大提高系統(tǒng)的安全性。但如果passwd程序無法強(qiáng)迫每個上機(jī)用戶使用恰當(dāng)?shù)拿艽a,要確保密碼的安全度,就只能依靠密碼破解程序了。實際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程序加密成密碼字,然后將其與Linux系統(tǒng)的/etc/passwd密碼文件或/etc/shadow影子文件相比較,如果發(fā)現(xiàn)有吻合的密碼,就可以求得明碼了。在網(wǎng)絡(luò)上可以找到很多密碼破解程序,比較有名的程序是crack和john the ripper.用戶可以自己先執(zhí)行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。
2、限定:網(wǎng)絡(luò)服務(wù)管理
早期的Linux版本中,每一個不同的網(wǎng)絡(luò)服務(wù)都有一個服務(wù)程序(守護(hù)進(jìn)程,Daemon)在后臺運行,后來的版本用統(tǒng)一的/etc/inetd服務(wù)器程序擔(dān)此重任。Inetd是Internetdaemon的縮寫,它同時監(jiān)視多個網(wǎng)絡(luò)端口,一旦接收到外界傳來的連接信息,就執(zhí)行相應(yīng)的TCP或UDP網(wǎng)絡(luò)服務(wù)。由于受inetd的統(tǒng)一指揮,因此Linux中的大部分TCP或UDP服務(wù)都是在/etc/inetd.conf文件中設(shè)定。所以取消不必要服務(wù)的第一步就是檢查/etc/inetd.conf文件,在不要的服務(wù)前加上“#”號。
一般來說,除了http、smtp、telnet和ftp之外,其他服務(wù)都應(yīng)該取消,諸如簡單文件傳輸協(xié)議tftp、網(wǎng)絡(luò)郵件存儲及接收所用的imap/ipop傳輸協(xié)議、尋找和搜索資料用的gopher以及用于時間同步的daytime和time等。還有一些報告系統(tǒng)狀態(tài)的服務(wù),如finger、efinger、systat和netstat等,雖然對系統(tǒng)查錯和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務(wù)查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統(tǒng)將這些服務(wù)全部取消或部分取消,以增強(qiáng)系統(tǒng)的安全性。Inetd除了利用/etc/inetd.conf設(shè)置系統(tǒng)服務(wù)項之外,還利用/etc/services文件查找各項服務(wù)所使用的端口。因此,用戶必須仔細(xì)檢查該文件中各端口的設(shè)定,以免有安全上的漏洞。
在后繼的Linux版本中(比如Red Hat Linux7.2之后),取而代之的是采用xinetd進(jìn)行網(wǎng)絡(luò)服務(wù)的管理。
當(dāng)然,具體取消哪些服務(wù)不能一概而論,需要根據(jù)實際的應(yīng)用情況來定,但是系統(tǒng)管理員需要做到心中有數(shù),因為一旦系統(tǒng)出現(xiàn)安全問題,才能做到有步驟、有條不紊地進(jìn)行查漏和補救工作,這點比較重要。
3、嚴(yán)格審計:系統(tǒng)登錄用戶管理
在進(jìn)入Linux系統(tǒng)之前,所有用戶都需要登錄,也就是說,用戶需要輸入用戶賬號和密碼,只有它們通過系統(tǒng)驗證之后,用戶才能進(jìn)入系統(tǒng)。
與其他Unix操作系統(tǒng)一樣,Linux一般將密碼加密之后,存放在/etc/passwd文件中。Linux系統(tǒng)上的所有用戶都可以讀到/etc/passwd文件,雖然文件中保存的密碼已經(jīng)經(jīng)過加密,但仍然不太安全。因為一般的用戶可以利用現(xiàn)成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設(shè)定影子文件/etc/shadow,只允許有特殊權(quán)限的用戶閱讀該文件。
在Linux系統(tǒng)中,如果要采用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡便的方法是采用插入式驗證模塊(PAM)。很多Linux系統(tǒng)都帶有Linux的工具程序PAM,它是一種身份驗證機(jī)制,可以用來動態(tài)地改變身份驗證的方法和要求,而不要求重新編譯其他公用程序。這是因為PAM采用封閉包的方式,將所有與身份驗證有關(guān)的邏輯全部隱藏在模塊內(nèi),因此它是采用影子檔案的最佳幫手。