關(guān)于用戶資源 對你的系統(tǒng)上所有的用戶設(shè)置資源限制可以防止dos類型攻擊,如最大進(jìn)程數(shù),內(nèi)存數(shù)量等。例如,對所有用戶的限制, 編輯/etc/security/limits.con加入以下幾行: * hard core 0
* hard rss 5000
* hard nproc 20 你也必須編輯/etc/pam.d/login文件,檢查這一行的存在: session required /lib/security/pam_limits.so 上面的命令禁止core files“core 0”,限制進(jìn)程數(shù)為“nproc 50“,且限制內(nèi)存使用為5m“rss 5000”。 關(guān)于nfs服務(wù)器 由于nfs服務(wù)器漏洞比較多,你一定要小心。如果要使用nfs網(wǎng)絡(luò)文件系統(tǒng)服務(wù),那么確保你的/etc/exports具有最嚴(yán)格的存取權(quán)限設(shè)置,不意味著不要使用任何通配符,不允許root寫權(quán)限,mount成只讀文件系統(tǒng)。你可以編輯文件/etc/exports并且加: /dir/to/export (ro,root_squash)
/dir/to/export (ro,root_squash) 其中/dir/to/export 是你想輸出的目錄,是登錄這個目錄的機(jī)器名,ro意味著mount成只讀系統(tǒng),root_squash禁止root寫入該目錄。最后為了讓上面的改變生效,還要運(yùn)行/usr/sbin/exportfs -a 關(guān)于開啟的服務(wù) 默認(rèn)的linux就是一個強(qiáng)大的系統(tǒng),運(yùn)行了很多的服務(wù)。但有許多服務(wù)是不需要的,很容易引起安全風(fēng)險。這個文件就是/etc/inetd.conf,它制定了/usr/sbin/inetd將要監(jiān)聽的服務(wù),你可能只需要其中的兩個:telnet和ftp,其它的類如shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth, etc. 除非你真的想用它。否則統(tǒng)統(tǒng)關(guān)閉之。 你先用下面的命令顯示沒有被注釋掉的服務(wù): grep -v "#" /etc/inetd.conf 這個命令統(tǒng)計面前服務(wù)的總數(shù): ps -eaf|wc -l 需要提醒你的是以下三個服務(wù)漏洞很多,強(qiáng)烈建議你關(guān)閉它們:s34yppasswdd(nis服務(wù)器)、s35ypserv(nis服務(wù)器)和s60nfs(nfs服務(wù)器)。 我們可以運(yùn)行#killall -hup inetd來關(guān)閉不需要的服務(wù)。當(dāng)然,你也可以運(yùn)行 #chattr +i /etc/inetd.conf 如果你想使inetd.conf文件具有不可更改屬性,而只有root 才能解開,敲以下命令 #chattr -i /etc/inetd.conf 當(dāng)你關(guān)閉一些服務(wù)以后,重新運(yùn)行以上命令看看少了多少服務(wù)。運(yùn)行的服務(wù)越少,系統(tǒng)自然越安全了。我們可以用下面命令察看哪些服務(wù)在運(yùn)行: netstat -na --ip 如果你用的是redhat那就方便多了。^_^ redhat提供一個工具來幫助你關(guān)閉服務(wù),輸入/usr/sbin/setup,然后選擇"system services",就可以定制系統(tǒng)啟動時跑哪些服務(wù)。另外一個選擇是chkconfig命令,很多l(xiāng)inux版本的系統(tǒng)都自帶這個工具。腳本名字中的數(shù)字是啟動的順序,以大寫的k開頭的是殺死進(jìn)程用的。