系統安全性對于用戶來說至關重要,Linux用戶也不例外。筆者就自己使用Linux的經歷,總結了一些增強Linux安全防護的小竅門,在此介紹給大家。
1.為LILO增加開機口令
在/etc/lilo.conf文件中增加選項,從而使LILO啟動時要求輸入口令,以加強系統的安全性。具體設置如下:
|
此時需注意,由于在LILO中口令是以明碼方式存放的,所以還需要將 lilo.conf的文件屬性設置為只有root可以讀寫。
|
當然,還需要進行如下設置,使lilo.conf的修改生效。
|
2.設置口令最小長度和
最短使用時間
口令是系統中認證用戶的主要手段,系統安裝時默認的口令最小長度通常為5,但為保證口令不易被猜測攻擊,可增加口令的最小長度,至少等于8。為此,需修改文件/etc/login.defs中參數PASS_MIN_LEN。同時應限制口令使用時間,保證定期更換口令,建議修改參數PASS_MIN_DAYS。
3.用戶超時注銷
如果用戶離開時忘記注銷賬戶,則可能給系統安全帶來隱患。可修改/etc/profile文件,保證賬戶在一段時間沒有操作后,自動從系統注銷。
編輯文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
|
則所有用戶將在10分鐘無操作后自動注銷。
4.禁止訪問重要文件
對于系統中的某些關鍵性文件如inetd.conf、services和lilo.conf等可修改其屬性,防止意外修改和被普通用戶查看。
首先改變文件屬性為600:
|
保證文件的屬主為root,然后還可以將其設置為不能改變:
|
這樣,對該文件的任何改變都將被禁止。
只有root重新設置復位標志后才能進行修改:
|
5.允許和禁止遠程訪問
在Linux中可通過/etc/hosts.allow 和/etc/hosts.deny 這2個文件允許和禁止遠程主機對本地服務的訪問。通常的做法是:
(1)編輯hosts.deny文件,加入下列行:
|
則所有服務對所有外部主機禁止,除非由hosts.allow文件指明允許。
(2)編輯hosts.allow 文件,可加入下列行:
|
則將允許IP地址為202.84.17.11和主機名為xinhuanet.com的機器作為Client訪問FTP服務。
(3)設置完成后,可用tcpdchk檢查設置是否正確。
6.限制Shell命令記錄大小
默認情況下,bash shell會在文件$HOME/.bash_history中存放多達500條命令記錄(根據具體的系統不同,默認記錄條數不同)。系統中每個用戶的主目錄下都有一個這樣的文件。在此筆者強烈建議限制該文件的大小。
您可以編輯/etc/profile文件,修改其中的選項如下:HISTFILESIZE=30或HISTSIZE=30。
7.注銷時刪除命令記錄
編輯/etc/skel/.bash_logout文件,增加如下行:
|
這樣,系統中的所有用戶在注銷時都會刪除其命令記錄。
如果只需要針對某個特定用戶,如root用戶進行設置,則可只在該用戶的主目錄下修改/$HOME/.bash_history 文件,增加相同的一行即可。
8.禁止不必要的SUID程序
SUID可以使普通用戶以root權限執行某個程序,因此應嚴格控制系統中的此類程序。
找出root所屬的帶s位的程序:
|
禁止其中不必要的程序:
|
9.檢查開機時顯示的信息
Linux系統啟動時,屏幕上會滾過一大串開機信息。如果開機時發現有問題,需要在系統啟動后進行檢查,可輸入下列命令:
|
該命令將把開機時顯示的信息重定向輸出到一個文件bootmessage中。
10.磁盤空間的維護
經常檢查磁盤空間對維護Linux的文件系統非常必要。而Linux中對磁盤空間維護使用最多的命令就是df和du了。
Df命令主要檢查文件系統的使用情況,通常的用法是:
|
Du命令檢查文件、目錄和子目錄占用磁盤空間的情況,通常帶-s選項使用,只顯示需檢查目錄占用磁盤空間的總計,而不會顯示下面的子目錄占用磁盤的情況。
|