Linux網(wǎng)絡安全經(jīng)驗之談 |
發(fā)布時間: 2012/8/14 19:39:25 |
關于分區(qū) 一個潛在的黑客如果要攻擊你的Linux服務器,他首先就會嘗試緩沖區(qū)溢出。在過去的幾年中,以緩沖區(qū)溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩沖區(qū)溢出漏洞占了遠程網(wǎng)絡攻擊的絕大多數(shù),這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一臺主機的部分或全部的控制權! 為了防止此類攻擊,我們從安裝系統(tǒng)時就應該注意。如果用root分區(qū)紀錄數(shù)據(jù),如log文件和email,就可能因為拒絕服務產(chǎn)生大量日志或垃圾郵件,從而導致系統(tǒng)崩潰。所以建議為/var開辟單獨的分區(qū),用來存放日志和郵件,以避免root分區(qū)被溢出。最好為特殊的應用程序單獨開一個分區(qū),特別是可以產(chǎn)生大量日志的程序,還有建議為/home單獨分一個區(qū),這樣他們就不能填滿/分區(qū)了,從而就避免了部分針對Linux分區(qū)溢出的惡意攻擊。 關于BIOS 記著要在BIOS設置中設定一個BIOS密碼,不接收軟盤啟動。這樣可以阻止不懷好意的人用專門的啟動盤啟動你的Linux系統(tǒng),并避免別人更改BIOS設置,如更改軟盤啟動設置或不彈出密碼框直接啟動服務器等等。 關于口令 口令是系統(tǒng)中認證用戶的主要手段,系統(tǒng)安裝時默認的口令最小長度通常為5,但為保證口令不易被猜測攻擊,可增加口令的最小長度,至少等于8。為此,需修改文件/etc/login.defs中參數(shù)PASS_MIN_LEN(口令最小長度)。同時應限制口令使用時間,保證定期更換口令,建議修改參數(shù)PASS_MIN_DAYS(口令使用時間)。 關于Ping 既然沒有人能ping通你的機器并收到響應,你可以大大增強你的站點的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次啟動后自動運行,這樣就可以阻止你的系統(tǒng)響應任何從外部/內部來的ping請求。 echo 1 》 /proc/sys/net/ipv4/icmp_echo_ignore_all 關于Telnet 如果你希望用戶用Telnet遠程登錄到你的服務器時不要顯示操作系統(tǒng)和版本信息(可以避免有針對性的漏洞攻擊),你應該改寫/etc/inetd.conf中的一行象下面這樣: telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h 加-h標志在最后使得telnet后臺不要顯示系統(tǒng)信息,而僅僅顯示login。 關于特權賬號 禁止所有默認的被操作系統(tǒng)本身啟動的且不需要的帳號,當你第一次裝上系統(tǒng)時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。 為刪除你系統(tǒng)上的用戶,用下面的命令:userdel username 為刪除你系統(tǒng)上的組用戶帳號,用下面的命令:groupdel username 在終端上打入下面的命令刪掉下面的特權用賬號: userdel adm userdel lp userdel sync userdel shutdown userdel halt userdel mail 如果你不用sendmail服務器,就刪除這幾個帳號: userdel news userdel uucp userdel operator userdel games 如果你不用X windows 服務器,就刪掉這個帳號。 userdel gopher 如果你不允許匿名FTP,就刪掉這個用戶帳號: userdel ftp 關于su命令 如果你不想任何人能夠su為root的話,你應該編輯/etc/pam.d/su文件,加下面幾行: auth sufficient /lib- http://security.chinaitlab.com/pam_rootok- .so debug auth required /lib- http://security.chinaitlab.com/pam_wheel- .so group=isd 這意味著僅僅isd組的用戶可以su作為root。如果你希望用戶admin能su作為root.就運行下面的命令: usermod -G10 admin suid程序也是非常危險的,這些程序被普通用戶以euid=0(即root)的身份執(zhí)行,只能有少量程序被設置為suid。用這個命令列出系統(tǒng)的suid二進制程序: suneagle# find / -perm -4000 -print 你可以用chmod -s去掉一些不需要程序的suid位。 關于賬戶注銷 如果系統(tǒng)管理員在離開系統(tǒng)時忘了從root注銷,系統(tǒng)應該能夠自動從shell中注銷。那么,你就需要設置一個特殊的 Linux 變量“tmout”,用以設定時間。 同樣,如果用戶離開機器時忘記了注銷賬戶,則可能給系統(tǒng)安全帶來隱患。你可以修改/etc/profile文件,保證賬戶在一段時間沒有操作后,自動從系統(tǒng)注銷。 編輯文件/etc/profile,在“histfilesize=”行的下一行增加如下一行: tmout=600 則所有用戶將在10分鐘無操作后自動注銷。注意:修改了該參數(shù)后,必須退出并重新登錄root,更改才能生效。 關于系統(tǒng)文件 對于系統(tǒng)中的某些關鍵性文件如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 關于用戶資源 對你的系統(tǒng)上所有的用戶設置資源限制可以防止DoS類型攻擊,如最大進程數(shù),內存數(shù)量等。例如,對所有用戶的限制, 編輯/etchttp://security.chinaitlab.com/limits.con加入以下幾行: * hard core 0 * hard rss 5000 * hard nproc 20 你也必須編輯/etc/pam.d/login文件,檢查這一行的存在: session required /libhttp://security.chinaitlab.com/pam_limits.so 上面的命令禁止core files“core 0”,限制進程數(shù)為“nproc 50“,且限制內存使用為5M“rss 5000”。 關于NFS服務器 由于NFS服務器漏洞比較多,你一定要小心。如果要使用NFS網(wǎng)絡文件系統(tǒng)服務,那么確保你的/etc/exports具有最嚴格的存取權限設置,不意味著不要使用任何通配符,不允許root寫權限,mount成只讀文件系統(tǒng)。你可以編輯文件/etc/exports并且加: /dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash) 其中/dir/to/export 是你想輸出的目錄,host.mydomain.com是登錄這個目錄的機器名,ro意味著mount成只讀系統(tǒng),root_squash禁止root寫入該目錄。最后為了讓上面的改變生效,還要運行/usr/sbin/exportfs -a
本文出自:億恩科技【www.allwellnessguide.com】 |