- Linux服務器安全策略詳解(第2版)
- 曹江華
- 2246字
- 2019-01-01 07:27:50
1.4 開源軟件網絡安全概述
Linux服務器運行的軟件主要包括Samba, VsFtp, OpenSSH, MySQL, PHP和Apache等,這些軟件大多數是開源軟件,而且都在不停升級,穩定版和測試版交替出現。
什么是開源軟件?字面意思是公開源代碼的軟件,它的英文為Open Source Software,簡稱為OSS。軟件既然連源代碼都公開,那么自然可以免費使用,一般概念上,它與自由軟件(Free Software)是一個等價的概念,用戶可以自由地對它進行研究、改進、傳播,而無須付出任何費用。隨著網絡的流行,軟件的安全性問題越來越成為人們討論的焦點,每年大量的黑客攻擊事件,病毒、蠕蟲、木馬的泛濫,使人們不得不高度重視軟件的安全性問題。而與此同時,隨著開源軟件的應用越來越廣泛,到底是開放源代碼的軟件更安全還是不開放源代碼的商業軟件(Commercial Software)更安全,成為長期以來人們一直關注的問題。
有人認為由于開源軟件源代碼是開放的,因此即使有漏洞和Bug也極易被人們發現并及時進行修改和完善,但是商業軟件卻由于不開放源代碼,僅有少數人知道源代碼,因此在漏洞和Bug方面,可能很晚才會發現,所以也極易造成破壞和損失。但也有人從另一個角度認為,由于開源軟件的源代碼開放,不法分子從中發現漏洞的機會將會更大,向其中加入病毒木馬也更容易,而商業軟件由于源代碼保密,知悉源代碼的人少,被發現漏洞的機會也會小一些。可以說雙方都有自己的優點,也都有自己的缺點。
那么,究竟誰會更安全一些呢?事實證明,很多軟件使用者,還有一些研究機構,從他們的使用和研究狀況來看,開源軟件的安全性確實要好一些,而這很大程度上就在于開源軟件的開放性和隨時彌補性。
事實上,不管是開放源代碼的軟件還是不開放源代碼的軟件,漏洞都無可避免,可以毫不夸張地說,所有的軟件都有漏洞,只是這些漏洞是不是能及時被發現并進行彌補。軟件安全與否,與是否開放源代碼關系并不大,把源代碼公開并不一定能確保代碼本身的安全性,同樣,封閉源代碼也不一定使代碼本身變得不安全。從某種程度上講,人們所依賴的所謂軟件的“安全性”其實更多的是一種臆想和希望,而不是現實。即使是像微軟這樣的軟件巨人,也以每年要在自己的軟件上修正多少漏洞,打上多少補丁而著名,而這些還僅僅是已經發現的漏洞,更不用說還沒有被發現的漏洞。我們要知道“沒有絕對安全的軟件”,這是一個基本道理。
因此,追求軟件代碼自身的安全性,做到讓軟件本身沒有任何漏洞,這幾乎是不可能的,人們所謂的軟件安全性,更大程度上在于對漏洞的及時發現以及修補。而開源軟件,恰恰在這方面具有商業軟件所不具有的先天優勢。現在的開源軟件,很大程度上是一種全球的智慧,是全體軟件設計研究人員共同的興趣和愛好的結晶,其中積累了大部分人的智慧。由于其開放性和共享性,它會充分受到廣大的軟件研究者和使用者的評審,因而漏洞會較少。即使有漏洞,也能被及時發現,出現問題之后也能更快更容易地進行彌補。所以,從這個角度上來說,開源軟件的確會比商業軟件更安全。
Linux確實有自己的安全弱點。最常見的弱點是對于某些高級技術缺乏可靠的本地支持。廠商一般開發的硬件和相關的驅動程序軟件只為大多數Windows用戶使用。Linux團體通常對這些產品做逆向工程處理,使這些產品兼容開源軟件操作系統。這首先就使他們的工作沒有預見性。在某些情況下,可兼容的Linux硬件要比Windows落后幾個月甚至幾年。幸運的是,由于IBM和Novell支持開源軟件標準,幫助優化兼容過程,這個問題并沒有引起多大麻煩。
在Linux的圖形界面接口之外,Linux的命令行是非常復雜的,通常是不容易學會的。這就延緩了管理員掌握加強系統安全的時間。Linux主要用做支持網絡功能的操作系統,默認安裝時不必要地啟動了很多網絡應用程序。這就可能造成不為人知的安全漏洞。幸運的是,讓管理員操作簡單的命令行工具彌補了這些弱點。
最好是了解Linux和Windows這兩種操作系統相對的優點,在充分分析各個系統的弱點的同時,根據業務的主要需求來選擇操作系統。
評定安全等級的更客觀的方法是跟蹤一個特定的套裝軟件發布的修復漏洞的補丁數量。當與Linux進行對比的時候,這種衡量方法表明Windows似乎安全漏洞更多。美國計算機應急反應小組最近發表的安全漏洞測評報告稱,微軟的Windows出現了250次安全漏洞,其中有39個安全漏洞的危險程度達到了40分或者40分以上。而Red Hat Linux只有46次安全漏洞,其中只有3個安全漏洞的危險程度在40分以上。對于這兩個操作系統的對比已經有數千份報告了,但是,像這種獨立的政府機構發布的報告是最值得考慮的。
在安全方面存在這種差別是有充分理由的。例如,Linux的開源軟件開發方式有助于更容易地暴露錯誤,這是微軟不具備的優勢。微軟的Windows另一個不利因素是其許多應用程序依靠遠程程序調用。遠程程序調用是計算機內部通信的一種方式,無法預知地和主動地分配通信通路。與限制使用遠程程序調用的Linux相比,這種方式將使Windows的防火墻沒有Linux那樣嚴格。
有些安全差別不僅系統管理員可以看到,最終用戶也可以看到。例如,Windows受到的病毒感染最多,促使大多數用戶購買殺毒軟件以保證自己的系統安全。最近,流氓軟件和間諜軟件開始入侵Windows系統,在用戶瀏覽網絡時不明智地下載和啟動流氓軟件、間諜軟件之后,流氓軟件、間諜軟件就會暗地里獲取和發布用戶的個人信息并且騷擾用戶。使用管理員權限和普通的用戶賬號都可以操作Windows和Linux系統。但是,某些第三方Windows應用軟件沒有嚴格堅持這個特點,經常需要管理員的權限才能正確運行軟件。因此,這些用戶發起的病毒攻擊的破壞性是很大的。Linux應用軟件通常都遵守這個安全要求,因此很少被攻擊者利用。Windows易學易用的目的達到了,但是,其代價是犧牲了全面的安全。此外,Windows需要兼容不安全的老版本軟件,這個缺點是Linux所沒有的。