隨著開源系統Linux的盛行,其在大中型企業的應用也在逐漸普及,很多企業的應用服務都是構筑在其之上,例如Web服務、數據庫服務、集群服務等等。因此,Linux的安全性就成為了企業構筑安全應用的一個基礎,是重中之重,如何對其進行安全防護是企業需要解決的一個基礎性問題,基于此,本文將給出十大企業級Linux服務器安全防護的要點。
1、強化:密碼管理
設定登錄密碼是一項非常重要的安全措施,如果用戶的密碼設定不合適,就很容易被破譯,尤其是擁有超級用戶使用權限的用戶,如果沒有良好的密碼,將給系統造成很大的安全漏洞。
目前密碼破解程序大多采用字典攻擊以及暴力攻擊手段,而其中用戶密碼設定不當,則極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設定密碼的過程中,應盡量使用非字典中出現的組合字符,并且采用數字與字符相結合、大小寫相結合的密碼設置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護自己的登錄密碼。
在多用戶系統中,如果強迫每個用戶選擇不易猜出的密碼,將大大提高系統的安全性。但如果passwd程序無法強迫每個上機用戶使用恰當的密碼,要確保密碼的安全度,就只能依靠密碼破解程序了。實際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程序加密成密碼字,然后將其與Linux系統的/etc/passwd密碼文件或/etc/shadow影子文件相比較,如果發現有吻合的密碼,就可以求得明碼了。在網絡上可以找到很多密碼破解程序,比較有名的程序是crack和john the ripper 。用戶可以自己先執行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。
2、限定:網絡服務管理
早期的Linux版本中,每一個不同的網絡服務都有一個服務程序(守護進程,Daemon)在后臺運行,后來的版本用統一的/etc/inetd服務器程序擔此重任。Inetd是Internet daemon的縮寫,它同時監視多個網絡端口,一旦接收到外界傳來的連接信息,就執行相應的TCP或UDP網絡服務。由于受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務都是在/etc/inetd.conf文件中設定。所以取消不必要服務的第一步就是檢查/etc/inetd.conf文件,在不要的服務前加上“#”號。
一般來說,除了http、smtp、telnet和ftp之外,其他服務都應該取消,諸如簡單文件傳輸協議tftp、網絡郵件存儲及接收所用的imap/ipop傳輸協議、尋找和搜索資料用的gopher以及用于時間同步的daytime和time等。還有一些報告系統狀態的服務,如finger、efinger、systat和netstat等,雖然對系統查錯和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統將這些服務全部取消或部分取消,以增強系統的安全性。Inetd除了利用/etc/inetd.conf設置系統服務項之外,還利用/etc/services文件查找各項服務所使用的端口。因此,用戶必須仔細檢查該文件中各端口的設定,以免有安全上的漏洞。
在后繼的Linux版本中(比如Red Hat Linux 7.2之后),取而代之的是采用xinetd進行網絡服務的管理。
當然,具體取消哪些服務不能一概而論,需要根據實際的應用情況來定,但是系統管理員需要做到心中有數,因為一旦系統出現安全問題,才能做到有步驟、有條不紊地進行查漏和補救工作,這點比較重要。