【中關村在線】
Linux本身并不是一個安全的操作系統。這是因為Linux是在UNIX的結構設計基礎之上進行開發的,而UNIX的開發者對于安全問題并沒有十分關心畢竟那是在1969年。
“首先要面對的是事實是,UNIX的開發者并沒有考慮安全問題。單單這一點就會引發大量的漏洞,”Dennis Ritchie在1979年他《關于UNIX的安全》的論文中寫道。
上周二在波士頓的LinuxCon上,紅帽公司Linux內核開發者的James Morris談論了Linux在過去十年里是如何演變來克服自身安全模型的不足。
Morris指出,問題是在UNIX誕生的60年代末,每個人都以為我們現在能擁有會飛的汽車,但事實是我們有了Facebook。我們今天用計算機在做的事情可能是40多年前人們的夢想,盡管我們仍舊依賴于數十年前設計的操作系統。
這就是Linux開發人員所面臨的挑戰。Morris說,為了確保Linux的安全,軟件工程師必須在Linux內核周圍插入安全組件。Linux***早的安全機制是UNIX DAC,后來陸續出現了POSIX、訪問控制列表、私有和PID命名空間、加密、Linux安全模塊、SELinux、Smack、TOMOYO、 Apparmor,類似的名單仍在繼續。
但是擁有這么多選擇,用戶們反而會覺得茫然。這有點像進入了一個“酷圣石”冰激凌店,然后你會被一長串配方和冰激凌口味弄得無所適從。不如老老實實地按照自己預定的食譜來選,或者更簡單,直接從附近的雜貨店挑一品脫櫻桃加西亞。
眼花繚亂的Linux安全選項
Linux無數的安全選項不僅阻礙了安全技術的發展,同時也為建立安全的Linux服務器和工作站制造了困難。例如,一個用戶或者系統管理員不得不去決定是否要開啟Smack、TOMOYO、SELinux還是Apparmor。做這樣的決定并不像想象的那么簡單,因為這些技術中的很多都解決類似的問題,只是它們的處理方式略有不同。比如說,Novell為它的SUSE Linux企業服務器開發了AppArmor,它是SELinux的競爭對手。Novell在其AppArmor網站上發布了兩種技術的比較。結果是,Apparmor擁有更簡單的配置文件格式(注:很多用戶一直覺得SELinux的安全級別設置十分麻煩,甚至也有報道說SELinux會導致安全問題,因此有很多教程都是教人如何關閉SELinux的)。
我們還沒有討論關于網絡安全、存儲安全和惡意軟件預防。這涉及到為數據包過濾設置防火墻。至于阻止惡意軟件,目前有幾個處于不同發展階段的項目,比如fsnotify、TALPA 和DazukoFS。
Morris還說,******的問題是“讓人們認識到安全措施是必要的。”
“這不像系安全帶。”Morris說,“我們不能讓法律來制約人們設置安全的Linux服務器和工作站。我們必須說服人們,這樣做對他們有利。”
Linux安全機制的透明化
因此,我們需要讓安全選項盡可能的透明化,而不是讓絕大多數Linux用戶苦苦掙扎于無數的安全選項中,Morris說,透明化是AppArmor的既定目標之一。SUSE的Tony Jones說“AppArmor的目的是對于應用軟件實現高度透明:如果你在一個工作系統中添加AppArmor,你需要開發AppArmor配置文件,但是不用改變你的應用程序。如果將AppArmor從一個正在運行的系統中移除,系統仍將完全像之前一樣繼續運行,只是沒有Apparmor安全保護而已。”
雖然SELinux的配置文件比Apparmor的更麻煩,但是透明化也是它的目標之一。紅帽稱,“SELinux插入Linux安全模塊(LSM)能夠為多個普通網絡面應用程序處理網絡核心層訪問請求。對于這些應用程序,基于SELinux的安全體系不需要進行額外的管理。此外,對用戶和應用程序而言,它是完全透明的。”
提高透明度的好處是它可以減少人為的安全威脅。人們就像水一樣,喜歡尋找沒有阻礙的道路。如果系統管理員需要通過編寫繁瑣的配置文件和頁面來設置一個安全的系統,那么他們中的很多人可能很輕易地就氣餒了。
“安全問題歸根結底是人的問題,”安全專家Bruce Schneier說。