十大點(diǎn)學(xué)會(huì)Linux安全防護(hù)
社會(huì)的發(fā)展,人們的生活越來(lái)越方便,幾乎家家都配置了電腦,而其中Linux系統(tǒng)越來(lái)越受到電腦用戶的歡迎,于是很多人開(kāi)始學(xué)習(xí)Linux時(shí),學(xué)習(xí)linux,你可能會(huì)遇到Linux安全防護(hù)問(wèn)題,這里將介紹Linux安全防護(hù)問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。
1.為L(zhǎng)ILO增加開(kāi)機(jī)口令
在/etc/lilo.conf文件中增加選項(xiàng),從而使LILO啟動(dòng)時(shí)要求輸入口令,以加強(qiáng)系統(tǒng)的安全性。具體設(shè)置如下:
- boot=/dev/hda
- map=/boot/map
- install=/boot/boot.b
- time-out=60 #等待1分鐘
- prompt
- default=Linux
- password=
#口令設(shè)置
- image=/boot/vmlinuz-2.2.14-12
- label=Linux
- initrd=/boot/initrd-2.2.14-12.img
- root=/dev/hda6
- read-only
此時(shí)需注意,由于在LILO中口令是以明碼方式存放的,所以還需要將
lilo.conf的文件屬性設(shè)置為只有root可以讀寫。
# chmod 600 /etc/lilo.conf
當(dāng)然,還需要進(jìn)行如下設(shè)置,使
lilo.conf的修改生效。 # /sbin/lilo -v
2.設(shè)置口令最小長(zhǎng)度和最短使用時(shí)間
口令是系統(tǒng)中認(rèn)證用戶的主要手段,系統(tǒng)安裝時(shí)默認(rèn)的口令最小長(zhǎng)度通常為5,但為保證口令不易被猜測(cè)攻擊,可增加口令的最小長(zhǎng)度,至少等于8。為此,需修改文件/etc/login.defs中參數(shù)PASS_MIN_LEN。同時(shí)應(yīng)限制口令使用時(shí)間,保證定期更換口令,建議修改參數(shù) PASS_MIN_DAYS。
3.用戶超時(shí)注銷
如果用戶離開(kāi)時(shí)忘記注銷賬戶,則可能給系統(tǒng)安全帶來(lái)隱患??尚薷?etc/profile文件,保證賬戶在一段時(shí)間沒(méi)有操作后,自動(dòng)從系統(tǒng)注銷。
編輯文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行: TMOUT=600
則所有用戶將在10分鐘無(wú)操作后自動(dòng)注銷。
4.禁止訪問(wèn)重要文件
對(duì)于系統(tǒng)中的某些關(guān)鍵性文件如inetd.conf、services和lilo.conf等可修改其屬性,防止意外修改和被普通用戶查看。
首先改變文件屬性為600: # chmod 600 /etc/inetd.conf
保證文件的屬主為root,然后還可以將其設(shè)置為不能改變: # chattr +i /etc/inetd.conf
這樣,對(duì)該文件的任何改變都將被禁止。
只有root重新設(shè)置復(fù)位標(biāo)志后才能進(jìn)行修改: # chattr -i /etc/inetd.conf
5.允許和禁止遠(yuǎn)程訪問(wèn)
在Linux中可通過(guò)/etc/hosts.allow 和/etc/hosts.deny 這2個(gè)文件允許和禁止遠(yuǎn)程主機(jī)對(duì)本地服務(wù)的訪問(wèn)。通常的做法是:
(1)編輯hosts.deny文件,加入下列行: # Deny access to everyone.
ALL: ALL@ALL
則所有服務(wù)對(duì)所有外部主機(jī)禁止,除非由hosts.allow文件指明允許。
(2)編輯hosts.allow 文件,可加入下列行: #Just an example:
ftp: 202.84.17.11 xinhuanet.com
則將允許IP地址為202.84.17.11和主機(jī)名為xinhuanet.com的機(jī)器作為Client訪問(wèn)FTP服務(wù)。
(3)設(shè)置完成后,可用tcpdchk檢查設(shè)置是否正確
6.限制Shell命令記錄大小
默認(rèn)情況下,bash shell會(huì)在文件$HOME/.bash_history中存放多達(dá)500條命令記錄(根據(jù)具體的系統(tǒng)不同,默認(rèn)記錄條數(shù)不同)。系統(tǒng)中每個(gè)用戶的主目錄下都有一個(gè)這樣的文件。在此筆者強(qiáng)烈建議限制該文件的大小。
您可以編輯/etc/profile文件,修改其中的選項(xiàng)如下: HISTFILESIZE=30或HISTSIZE=30
7.注銷時(shí)刪除命令記錄
編輯/etc/skel/.bash_logout文件,增加如下行: rm -f $HOME/.bash_history
這樣,系統(tǒng)中的所有用戶在注銷時(shí)都會(huì)刪除其命令記錄。
如果只需要針對(duì)某個(gè)特定用戶,如root用戶進(jìn)行設(shè)置,則可只在該用戶的主目錄下修改/$HOME/.bash_history文件,增加相同的一行即可。
8.禁止不必要的SUID程序
SUID可以使普通用戶以root權(quán)限執(zhí)行某個(gè)程序,因此應(yīng)嚴(yán)格控制系統(tǒng)中的此類程序。
找出root所屬的帶s位的程序: # find / -type f ( -perm -04000 -o -perm -02000 ) -print |less
禁止其中不必要的程序: # chmod a-s program_name
9.檢查開(kāi)機(jī)時(shí)顯示的信息
Linux系統(tǒng)啟動(dòng)時(shí),屏幕上會(huì)滾過(guò)一大串開(kāi)機(jī)信息。如果開(kāi)機(jī)時(shí)發(fā)現(xiàn)有問(wèn)題,需要在系統(tǒng)啟動(dòng)后進(jìn)行檢查,可輸入下列命令: #dmesg >bootmessage
該命令將把開(kāi)機(jī)時(shí)顯示的信息重定向輸出到一個(gè)文件bootmessage中。
10.磁盤空間的維護(hù)
經(jīng)常檢查磁盤空間對(duì)維護(hù)Linux的文件系統(tǒng)非常必要。而Linux中對(duì)磁盤空間維護(hù)使用最多的命令就是df和du了。
df命令主要檢查文件系統(tǒng)的使用情況,通常的用法是:
- #df -k
- Filesystem 1k-blocks Used Available Use% Mounted on
- /dev/hda3 1967156 1797786 67688 96% /
du命令檢查文件、目錄和子目錄占用磁盤空間的情況,通常帶-s選項(xiàng)使用,只顯示需檢查目錄占用磁盤空間的總計(jì),而不會(huì)顯示下面的子目錄占用磁盤的情況。
- % du -s /usr/X11R6/*
- 34490 /usr/X11R6/bin
- 1 /usr/X11R6/doc
- 3354 /usr/X11R6/include
通過(guò)本文你能學(xué)會(huì)Linux安全防護(hù)的技術(shù)。
【編輯推薦】