系統安全性對于用戶來說至關重要,對于Linux系統管理員來說,以下的方法可以作為系統防范措施,保證Linux系統更加安全。
1.關閉不用的端口
任何網絡連接都是通過開放的應用端口來實現的。如果盡可能少地開放端口,就可以大大減少攻擊者成功的機會。
2.刪除不用的服務
在進行系統規劃時,總的原則是將不需要的服務一律去掉。默認的Linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。
3.口令管理
口令是系統中認證用戶的主要手段,系統安裝時默認的口令最小長度通常為5,但為保證口令不易被猜測攻擊,口令的長度一般不要少于8個字符。口令的組成應以無規則的大小寫字母、數字和符號相結合,嚴格避免用英語單詞或詞組等設置口令,而且用戶的口令應該養成定期更換的習慣。為此,可修改文件/etc/login.defs中參數PASS_MIN_LEN。同時應限制口令使用時間,保證定期更換口令。
4.用戶超時注銷
-如果用戶離開時忘記注銷賬戶,則可能給系統安全帶來隱患。可修改/etc/profile文件,保證賬戶在一段時間沒有操作后,自動從系統注銷。
-編輯文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下命令行:
---- TMOUT=600
則所有用戶將在10分鐘無操作后白動注銷。
5.禁止訪問重要文件
對于系統中的某些關鍵性文件如inetd.conf、services和lilo.conf等可修改其屬性,防止意外修改和被普通用戶查看。
首先改變文件屬性為600:
#chmod 600 /etc/inetd.conf
保證文件的屬主為root,然后還可以將其設置為不能改變:
#chattr+i/etc/inetd.conf
這樣,對該文件的任何改變都將被禁止。
只有root重新設置復位標志后才能進行修改:
#chattr_i/etc/inetd.conf
6.允許和禁止遠程訪問
在Linux中可通過/etc/hosts.allow和/etc/hosts.deny兩個文件允許和禁止遠程主機對本地服務的訪問,通常的做法如下。
·編輯hosts.deny文件,加入下列行:
#Deny access to everyone.
---- ALL:ALL@ALL
配置所有服務對所有外部主機禁止,除非由hosts.allow文件指定允許。
·編輯hosts.allow文件,可加入下列行:
-ftp:159.226.112.66 nsfc.edu.cn
配置將允許IP地址為159.226.112.66和主機名為nsfc.edu.cn的機器作為Client訪問FTP服務。
·設置完成后,可用tcpdchk檢查設置是否正確。
7.注銷時刪除命令記錄
編輯/etc/skel/.bash_logout文件,增加如下行:
rm -f $HOME/.bash_history
這樣,系統中的所有用戶在注銷時都會刪除其命令記錄。
如果只需要針對某個特定用戶,如root用戶進行設置,則可只在該用戶的主目錄下修改/$HOME/.bash_history文件,增加相同的一行即可。
8.日志管理
日志文件時刻記錄著系統的運行情況。當黑客入侵時,會在日志中留下痕跡。所以黑客往往在攻擊時修改日志文件來隱藏蹤跡。因此要限制對/var/log文件的訪問,禁止一般權限的用戶去查看日志文件。
9.檢查開機時顯示的信息
Linux系統啟動時,屏幕上會滾過一大串開機信息。如果開機時發現有問題,需要在系統啟動后進行檢查,可輸入下列命令:
#dmesg>bootmessage
該命令將把開機時顯示的信息重定向輸出到一個文件bootmessage中。
10.磁盤空間的維護
經常檢查磁柱空間對維護Linux的文件系統非常必要,Linux中對磁盤空間維護使用最多的命令就是df和du了。
df命令主要檢查文件系統的使用情況,通常的用法如下:
---- #df _k
Filesystem 1k-blocks Used Available Use%Mounted On
/dev/hda1 1967156 1797786 67688 96%/
du命令檢查文件、目錄和子目錄占用磁盤空間的情況,通常帶-s選項使用,只顯示需檢查目錄占用磁盤空間的總計,而不會顯示下面的子目錄占用磁盤的情況:
---- #du -s/usr/X11A/*
---- 52470/usr/X11A/bin
--- - 10/usr/X11A/doc
----3452/usr/X11A/include