操作系統安全防護技巧介紹之Linux篇

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

系統安全性對於用戶來說至關重要,Linux用戶也不例外.筆者就自己使用Linux的經歷,總結了一些增強Linux安全防護的小竅門,在此介紹給大家.

1.為LILO增加開機口令

在/etc/lilo.conf文件中增加選項,從而使LILO啟動時要求輸入口令,以加強系統的安全性.具體設置如下:


boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=60 #等待1分鐘promptdefault=linuxpassword=#口令設置image=/boot/vmlinuz-2.2.14-12label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only

此時需注意,在LILO中口令是以明碼方式存放的,還需要將 lilo.conf的文件屬性設置為只有root可以讀寫.


# chmod 600 /etc/lilo.conf

當然,還需要進行如下設置,使lilo.conf的修改生效.


# /sbin/lilo -v

2.設置口令最小長度和

最短使用時間

口令是系統中認證用戶的主要手段,系統安裝時默認的口令最小長度通常為5,但為保證口令不易被猜測攻擊,可增加口令的最小長度,至少等於8.為此,需修改文件/etc/login.defs中參數PASS_MIN_LEN.同時應限制口令使用時間,保證定期更換口令,建議修改參數PASS_MIN_DAYS.

3.用戶超時註銷

如果用戶離開時忘記註銷賬戶,則可能給系統安全帶來隱患.可修改/etc/profile文件,保證賬戶在一段時間沒有操作后,自動從系統註銷.

編輯文件/etc/profile,在「HISTFILESIZE=」行的下一行增加如下一行:


TMOUT=600


則所有用戶將在10分鐘無操作后自動註銷.

4.禁止訪問重要文件

對於系統中的某些關鍵性文件如inetd.conf、services和lilo.conf等可修改其屬性,防止意外修改和被普通用戶查看.

改變文件屬性為600:


# chmod 600 /etc/inetd.conf

保證文件的屬主為root,然後還可以將其設置為不能改變:


# chattr i /etc/inetd.conf

這樣,對該文件的任何改變都將被禁止.

只有root重新設置複位標誌后才能進行修改:


# chattr -i /etc/inetd.conf

5.允許和禁止遠程訪問

在Linux中可通過/etc/hosts.allow 和/etc/hosts.deny 這2個文件允許和禁止遠程主機對本地服務的訪問.通常的做法是:

(1)編輯hosts.deny文件,加入下列行:


# Deny access to everyone. ALL: ALL@ALL

則所有服務對所有外部主機禁止,除非由hosts.allow文件指明允許.

(2)編輯hosts.allow 文件,可加入下列行:


#Just an example: ftp: 202.84.17.11 xinhuanet.com

則將允許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文件,增加如下行:


rm -f $HOME/.bash_history

這樣,系統中的所有用戶在註銷時都會刪除其命令記錄.

如果只需要針對某個特定用戶,如root用戶進行設置,則可只在該用戶的主目錄下修改/$HOME/.bash_history 文件,增加相同的一行即可.

8.禁止不必要的SUID程序

SUID可以使普通用戶以root許可權執行某個程序,因此應嚴格控制系統中的此類程序.

找出root所屬的帶s位的程序:


# find / -type f ( -perm -04000 -o -perm -02000 ) -print |less

禁止其中不必要的程序:


# chmod a-s program_name

9.檢查開機時顯示的信息

Linux系統啟動時,屏幕上會滾過一大串開機信息.如果開機時發現有問題,需要在系統啟動後進行檢查,可輸入下列命令:


#dmesg >bootmessage

該命令將把開機時顯示的信息重定向輸出到一個文件bootmessage中.

10.磁碟空間的維護

經常檢查磁碟空間對維護Linux的文件系統非常必要.而Linux中對磁碟空間維護使用最多的命令就是df和du了.

Df命令主要檢查文件系統的使用情況,通常的用法是:


#df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda3 1967156 1797786 67688 96% /

Du命令檢查文件、目錄和子目錄佔用磁碟空間的情況,通常帶-s選項使用,只顯示需檢查目錄佔用磁碟空間的總計,而不會顯示下面的子目錄佔用磁碟的情況.


% du -s /usr/X11R6/* 34490 /usr/X11R6/bin 1 /usr/X11R6/doc 3354 /usr/X11R6/include


Linux作為自由、開放的象徵,越來越受到廣大用戶的關注,但真正使用的個人用戶較少,主要是它的系統特性,及周邊的軟體開發商較少,讓它只在伺服器系統領域有所普及.它的安全防護,筆者稍做介紹:

1.禁止訪問重要文件

Linux不像Windows,它不但公布源代碼,其核心程序還可以根據用戶需要任意修改,而對於系統中的某些關鍵性文件如inetd.conf和lilo.conf等,同樣可以被(遠程登錄用戶)修改,為了保護系統安全,可以事先修改其屬性,以防止非法的入侵和修改.

進入Linux的命令界面,輸入指令:


# chmod 600 /etc/inetd.conf

改變文件屬性為600.

再輸入指令:


# chattr i /etc/inetd.conf


保證文件的屬主為root .

這樣,對該文件的任何改變都將被禁止.只有再通過指令:


# chattr -i /etc/inetd.conf

root重新設置複位標誌后才能進行修改.

2.禁止遠程訪問

在Linux中可通過/etc/hosts.allow 和/etc/hosts.deny 這2個文件允許和禁止遠程主機對本地服務的訪問.方法是:進入Linux的命令界面,調出hosts.deny文件,加入以下指令:


# Deny access to everyone. ALL: ALL@ALL

所有服務對所有外部主機禁止,除非由hosts.allow文件指明允許.

在hosts.allow 文件內,加入允許訪問的主機方法如下:

調出hosts.allow文件,加入以下指令:


#Just an example: http: 192.168.1.8 yanghao.com

意思是允許IP地址為192.168.18和主機名為yanghao.com的機器作為客戶機訪問http服務.

系統的安全防護方式,筆者就介紹到這裡,不可能面面俱到.使用Windows XP及其他的「NT核心」系統的用戶應該更注意安全問題,在使用XP時,最好將自帶的防火牆打開(Microsoft在新發售的Windows XP中也將防火牆設置為默認打開).任何系統的用戶都應具備一定的安全知識,如:不輕易泄漏自己的網路和系統信息;不執行來歷不明的程序等.安全的系統環境要靠自己打造.

文章來源:黑客基地





[火星人 ] 操作系統安全防護技巧介紹之Linux篇已經有302次圍觀

http://coctec.com/docs/linux/show-post-57444.html