Linux網路安全之經驗談(3)

關於su命令 如果你不想任何人能夠su為root的話,你應該編輯/etc/pam.d/su檔案,加下面幾行:

auth sufficient /lib-
/security/pam_rootok-
.so debug

auth required /lib-
/security/pam_wheel-
.so group=isd

這意味著僅僅isd組的用戶可以su作為root。如果你希望用戶admin能su作為root.就運行下面的命令:

usermod -g10 admin

suid程式也是非常危險的,這些程式被普通用戶以euid=0(即root)的身份執行,只能有少量程式被設定為suid。用這個命令列出系統的suid二進制程式:

suneagle# find / -perm -4000 -print

你可以用chmod -s去掉一些不需要程式的suid位。

關於賬戶註銷

如果系統管理員在離開系統時忘了從root註銷,系統應該能夠自動從shell中註銷。那么,你就需要設定一個特殊的 linux 變數“tmout”,用以設定時間。 同樣,如果用戶離開機器時忘記了註銷賬戶,則可能給系統安全帶來隱患。你可以修改/etc/profile檔案,保證賬戶在一段時間沒有操作後,自動從系統註銷。 編輯檔案/etc/profile,在“histfilesize=”行的下一行增加如下一行:

tmout=600

則所有用戶將在10分鐘無操作後自動註銷。注意:修改了該參數後,必須退出並重新登錄root,更改才能生效。

  關於系統檔案

對於系統中的某些關鍵性檔案如passwd、passwd.old、passwd._、shadow、shadown._、inetd.conf、services和lilo.conf等可修改其屬性,防止意外修改和被普通用戶查看。 如將inetd檔案屬性改為600:

# chmod 600 /etc/inetd.conf

這樣就保證檔案的屬主為root,然後還可以將其設定為不能改變:

# chattr +i /etc/inetd.conf

這樣,對該檔案的任何改變都將被禁止。 你可能要問:那我自己不是也不能修改了?當然,我們可以設定成只有root重新設定復位標誌後才能進行修改:

# chattr -i /etc/inetd.conf