日期:2014-05-16  浏览次数:20638 次

提升Linux服務器的安全性能

眾所周知,就安全性而言,Linux相對於Windows具有更多的優勢。但是,不管選擇哪一種Linux發行版本,在安裝完成以後都應該進行一些必要的配置,來增強它的安全性。下面就通過幾個步驟來加固的Linux服務器。目前,許多中小用戶因業務發展,不斷更新或升級網絡從而造成自身用戶環境差異較大,整個網絡系統平台參差不齊,在服務器端大多使用Linux和Unix的,PC端使用Windows 和Mac。所以在企業應用中往往是Linux、Unix和Windows操作系統共存形成異構網絡。

1.安裝和配置一個防火牆

一個配置適當的防火牆不僅是系統有效應對外部攻擊的第一道防線,也是最重要的一道防線。在新系統第一次連接上Internet之前,防火牆就應該被安裝並且配置好。防火牆配置成拒絕接收所有數據包,然後再打開允許接收的數據包,將有利於系統的安全。Linux為我們提供了一個非常優秀的防火牆工具,它就是 netfilter/iptables(http://www.netfilter.org/)。它完全是免費的,並且可以在一台低配置的老機器上很好地運行。防火牆的具體設置方法請參見iptables使用方法。

?

2.關閉無用的服務和端口

任何網絡連接都是通過開放的應用端口來實現的。如果我們盡可能少地開放端口,就使網絡攻擊變成無源之水,從而大大減少了攻擊者成功的機會。把 Linux作為專用服務器是個明智的舉措。例如,希望Linux成為的Web服務器,可以取消系統內所有非必要的服務,只開啟必要服務。這樣做可以盡量減少後門,降低隱患,而且可以合理分配系統資源,提高整機性能。以下是幾個不常用的服務:

1. fingerd(finger服務器)報告指定用戶的個人信息,包括用戶名、真實姓名、shell、目錄和聯繫方式,它將使系統暴露在不受歡迎的情報收集活動下,應避免啟動此服務。

2. R服務(rshd、rlogin、rwhod、rexec)提供各種級別的命令,它們可以在遠程主機上運行或與遠程主機交互,在封閉的網絡環境中登錄而不再要求輸入用戶名和口令,相當方便。然而在公共服務器上就會暴露問題,導致安全威脅。

3.刪除不用的軟件包

在進行系統規劃時,總的原則是將不需要的服務一律去掉。默認的Linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。這個文件就是/etc/xinetd.conf,它制定了/usr/sbin/xinetd將要監聽的服務,你可能只需要其中的一個:ftp,其它的類如telnet、shell、login、exec、talk、ntalk、imap、finger、auth等,除非你真的想用它,否則統統關閉。

4.不設置缺省路由

在主機中,應該嚴格禁止設置缺省路由,即default route。建議為每一個子網或網段設置一個路由,否則其它機器就可能通過一定方式訪問該主機。

5.口令管理

口令的長度一般不要少於8個字符,口令的組成應以無規則的大小寫字母、數字和符號相結合,嚴格避免用英語單詞或詞組等設置口令,而且各用戶的口令應該養成定期更換的習慣。另外,口令的保護還涉及到對/etc/passwd和/etc/shadow文件的保護,必須做到只有系統管理員才能訪問這2 個文件。安裝一個口令過濾工具加npasswd,能幫你檢查你的口令是否耐得住攻擊。如果你以前沒有安裝此類的工具,建議你現在馬上安裝。如果你是系統管理員,你的系統中又沒有安裝口令過濾工具,請你馬上檢查所有用戶的口令是否能被窮盡搜索到,即對你的/ect/passwd文件實施窮盡搜索攻擊。用單詞作密碼是根本架不住暴力攻擊的。黑客們經常用一些常用字來破解密碼。曾經有一位美國黑客表示,只要用「password」這個字,就可以打開全美多數的計算機。其它常用的單詞還有:account、ald、alpha、beta、computer、dead、demo、dollar、games、bod、 hello、help、intro、kill、love、no、ok、okay、please、sex、secret、superuser、 system、test、work、yes等。密碼設置和原則:

1)足夠長,指頭只要多動一下為密碼加一位,就可以讓攻擊者的辛苦增加十倍;

2)不要用完整的單詞,盡可能包括數字、標點符號和特殊字符等;

3)混用大小寫字符;

4)經常修改。

6.分區管理

一個潛在的攻擊,它首先就會嘗試緩衝區溢出。在過去的幾年中,以緩衝區溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩衝區溢出漏洞佔了遠程網絡攻擊的絕大多數,這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一台主機的部分或全部的控制權!

為了防止此類攻擊,我們從安裝系統時就應該注意。如果用root分區記錄數據,如log文件,就可能因為拒絕服務產生大量日誌或垃圾郵件,從而導致系統崩潰。所以建議為/var開闢單獨的分區,用來存放日誌和郵件,以避免root分區被溢出。最好為特殊的應用程序單獨開一個分區,特別是可以產生大量日誌的程序,還建議為/home單獨分一個區,這樣他們就不能填滿/分區了,從而就避免了部分針對Linux分區溢出的惡意攻擊。

很多Linux桌面用戶往往是使用Windows、Linux雙系統。最好使用雙硬盤。方法如下:首先將主硬盤的數據線拆下,找一個10GB左右的硬盤掛在計算機上,將小硬盤設置為從盤,按照平常的操作安裝Linux服務器版本,除了啟動的引導程序放在MBR外,其它沒有區別。 安裝完成,調試出桌面後,關閉計算機。將小硬盤的數據線拆下,裝上原硬盤,並設定為主盤(這是為了原硬盤和小硬盤同時掛接在一個數據線上),然後安裝 Windows軟件。將兩個硬盤都掛在數據線上,數據線是IDE 0接口,將原硬盤設定為主盤,小硬盤設定為從盤。如果要從原硬盤啟動,就在CMOS裡將啟動的順序設定為「C、D、CDROM」,或者是 「IDE0(HDD-0)」。這樣計算機啟動的時候,進入Windows界面。如果要從小硬盤啟動,就將啟動順序改為「D、C、CDROM」,或者是 「IDE1(HDD-1)」,啟動之後,將進入Linux界面。平時兩個操作系統是互相不能夠訪問的。

7.防範網絡嗅探