萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux網絡安全之經驗談(4)

Linux網絡安全之經驗談(4)

class="22791"> 關於用戶資源

  對你的系統上所有的用戶設置資源限制可以防止DoS類型攻擊,如最大進程數,內存數量等。例如,對所有用戶的限制, 編輯/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”,限制進程數為“nproc 50“,且限制內存使用為5M“rss 5000”。

  關於NFS服務器

  由於NFS服務器漏洞比較多,你一定要小心。如果要使用NFS網絡文件系統服務,那麼確保你的/etc/exports具有最嚴格的存取權限設置,不意味著不要使用任何通配符,不允許root寫權限,mount成只讀文件系統。你可以編輯文件/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成只讀系統,root_squash禁止root寫入該目錄。最後為了讓上面的改變生效,還要運行/usr/sbin/exportfs -a

  關於開啟的服務

  默認的linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。這個文件就是/etc/inetd.conf,它制定了/usr/sbin/inetd將要監聽的服務,你可能只需要其中的兩個:telnet和ftp,其它的類如shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth, etc. 除非你真的想用它。否則統統關閉之。

  你先用下面的命令顯示沒有被注釋掉的服務:

  grep -v "#" /etc/inetd.conf

  這個命令統計面前服務的總數:

  ps -eaf|wc -l

  需要提醒你的是以下三個服務漏洞很多,強烈建議你關閉它們:S34yppasswdd(NIS服務器)、S35ypserv(NIS服務器)和S60nfs(NFS服務器)。

  我們可以運行#killall -HUP inetd來關閉不需要的服務。當然,你也可以運行

  #chattr +i /etc/inetd.conf

  如果你想使inetd.conf文件具有不可更改屬性,而只有root 才能解開,敲以下命令

  #chattr -i /etc/inetd.conf

  當你關閉一些服務以後,重新運行以上命令看看少了多少服務。運行的服務越少,系統自然越安全了。我們可以用下面命令察看哪些服務在運行:

  netstat -na --ip

  如果你用的是Redhat那就方便多了。^_^ Redhat提供一個工具來幫助你關閉服務,輸入/usr/sbin/setup,然後選擇"system services",就可以定制系統啟動時跑哪些服務。另外一個選擇是chkconfig命令,很多linux版本的系統都自帶這個工具。腳本名字中的數字是啟動的順序,以大寫的K開頭的是殺死進程用的。

copyright © 萬盛學電腦網 all rights reserved