Suse Linux10"殺手級"元件:AppArmor(轉)

worldblog發表於2007-08-10
Suse Linux10"殺手級"元件:AppArmor(轉)[@more@]

  再過一百年,那時的歷史學家將把我們描述為“超碼的我”(Super Size Me)一代。但這並不僅僅表現在快餐店。我們想要更多時間、更多樂趣、更多的錢、更多的均等利益、生活中更多美好的東西。我們的社會正在追求更多的滿足。當然,對於業界而言僅僅追求是不夠的。人員創造更高價值、資本增值和IT投資取得更高回報直接關係到企業的生死存亡。

  隨著效能、擴充套件性、管理性、可靠性、安全性、技術支援和投資回報要求的提高,Novell以其能夠滿足這種需求並超出預期水平而享有卓著聲譽。最新推出的SUSE Linux Enterprise 10大大超出了企業對於世界一流企業級作業系統的期待。與任何新版系統一樣,這個平臺的伺服器元件SUSE Linux Enterprise Server與其前身相比也增加了功能。該伺服器三大新功能顯著提升了其滿足不斷增長需求的超前能力。

  AppArmor安全應用程式

  儲存架構

  伺服器虛擬化

  ◆ 增加安全應用程式

  安全性一直是Linux作業系統的優勢之一。不過,有時個別應用程式的漏洞還是留下了安全隱患。SUSE Linux Enterprise全面整合AppArmor安全應用程式框架消除了這種隱患,為每個應用程式專門加了一層重要的安全保護。

  AppArmor並不是SUSE Linux Enterprise Server(企業級伺服器)的新功能。第9版系統包含開源核心模組和執行安全管理的元件,並且能夠根據獨立專用元件建立並解釋策略。現在的AppArmor根據GNU通用公共授權完全公開提供,並且緊密整合在SUSE Linux Enterprise框架內。

  因此,AppArmor如何保證企業級應用安全成為一個重要問題。這一功能實際採用白名單方法規定允許應用程式執行的動作。這與規定所有不允許應用程式執行的動作的黑名單技術相反。

  黑名單在出現您不知道的新漏洞之前具有很好的保護作用,而出現新漏洞之後直到供應商為這些漏洞釋出新補丁之前,卻不能為您提供保護。

  AppArmor的白名單實際上是一種策略,用以管理應用的檔案和目錄訪問,以及應用的POSIX功能。POSIX是IEEE將根特權分成不同組合的標準。換句話說,即使伺服器應用需要根特權才能正常執行,與提供未加保護的根特權允許應用執行不同,AppArmor在核心層管理應用的檔案訪問和POSIX功能,將應用限定在一組資源和根特權實際範圍之內。

  這種管理每種應用訪問的白名單概念已經採用了一段時間。實際上,國家安全域性開發了類似的解決方案,稱作“安全增強Linux”。但由於效能的負面影響和實施中的困難,妨礙了這個解決方案的部署。而AppArmor對效能的影響很小,並且由於整合在SUSE Linux Enterprise Server中,因此部署十分方便。

  ◆ 即開即用保護

  SUSE Linux Enterprise Server中包含一組AppArmor為通用作業系統和應用軟體預定義的策略,包括Apache Web伺服器、Postfix郵件伺服器、Sendmail郵件伺服器、OpenSSH、squid、ntpd、nscd等。除Apache外,這些策略即開即用,不必修改。對於Apache,您需要給出提示,如Web頁面中主目錄位置等資訊。

  點選YaST管理控制檯中的Novell AppArmor圖示,您可以透過四步流程制定AppArmor的應用策略。

  ◆ 伺服器分析器

  AppArmor為您確定系統中哪些應用需要配置AppArmor策略提供了相應的工具。在YaST的AppArmor選單中,點選AppArmor Reports(報告)圖示,執行Application Audit Report(應用審計報告)。這個自動化程式可掃描伺服器中收聽開放式網路埠,尚未定義AppArmor策略的應用。伺服器分析器(Server Analyzer)掃描結束後,將列出可由網路外部訪問需要定義策略的應用。

  ◆ 策略模板生成器

  啟動分析流程時,點選AppArmor主選單的Add Profile Wizard(新增配置嚮導)圖示。選擇準備分析的應用,AppArmor將對選定的應用進行快速靜態分析,然後生成這個應用程式專用的策略模板。

  ◆ 學習模式

  建立策略模板之後,配置嚮導自動進入學習模式,大部分策略開發都需要經過這個過程。在此期間,AppArmor框架監控應用的工作狀態,需要訪問的目錄及檔案,以及訪問型別。當然,學習模式執行時,您需要在正常執行狀態下使用應用程式。根據應用的複雜程度,這個過程可能需要持續幾小時到幾天不等。

  學習期間,應用程式不執行任何策略規則。因此,一定要保證在隔離的環境下執行應用程式,即保證學習良好行為期間,系統不會受到攻擊:

  AppArmor在核心層管理應用的檔案訪問和POSIX功能,將應用限定在一組資源和根特權實際範圍之內。

  ◆ 互動式最佳化器

  學習期間,AppArmor建立應用正常及可接受行為相關活動的大型日誌。AppArmor中的Interactive Optimizer(互動式最佳化器)分析所有活動,其方法是由分析嚮導向您提出一系列問題,以快速確定這個應用程式相應的策略。

  例如,學習模式期間,應用可能訪問某個目錄中的某個檔案。這時,分析嚮導將請您在以下選項中進行選擇,確定控制訪問的策略:

  Allow:可以訪問這個目錄中指定的檔案,允許根據需要執行應用。訪問可以包括也可以不包括讀取、寫入或執行模式。

  Deny:不得訪問這個目錄中指定的檔案,防止應用程式正常執行。

  Glob:這個功能取路徑中最後一項,在這個位置加萬用字元,表明應用程式可採用規定的訪問模式訪問這個目錄中的所有檔案。當您確信應用程式訪問目錄中其他檔案不會造成安全問題,並且的確有必要訪問其他檔案時,這個功能非常實用。建立這種萬用字元策略定義可以顯著縮短互動流程,因為互動式最佳化器可以自動確認,不需要再詢問是否允許訪問這個目錄中的其他檔案。點選兩次“全域性”(Glob)按鈕可將全域性範圍加倍。這樣,應用程式可以訪問這個目錄及其所有子目錄中的每個檔案。

  Glob w/Ext:這個功能與Glob相似,只是在路徑最後一項處不放置完整萬用字元,而是放置帶有副檔名的萬用字元。例如,您可以規定應用程式可訪問這個目錄中所有帶某種副檔名的檔案。

  Edit:這個彈出式對話方塊供您根據需要編輯目錄路徑及檔名。

  上述情況下,每當您對應用活動日誌中有關操作的問題給出答覆後,配置嚮導便會生成這個活動的策略規則。如果這個規則適用於日誌中的其他活動,訪問過程中嚮導會跳過這些活動。配置嚮導還可以確認其他應用程式的現有策略是否適用於您當前執行的應用程式。這樣,當出現與現有策略相類似的活動時,嚮導會詢問您是否對執行的應用程式採用這種策略。AppArmor配置嚮導的這種智慧化功能可透過少量策略提問解決一千種,甚至更多活動相關的問題。

  回答完問題之後,配置嚮導將以加色格式指導您檢視編輯策略,需要關注的策略規則用黃色加亮,便於您快速分析策略)。

  完成策略建立後(基本文字檔案),您可以很方便地將這些策略釋出給系統環境下采用同樣應用程式,要求執行同樣策略的其他伺服器。同時,AppArmor還包含配置嚮導的更新功能,便於您輕鬆地更新現有應用策略,實施系統調整或加入新規則。應用策略生效後,AppArmor儲存應用活動違背策略的日誌。與配置嚮導一樣,更新配置嚮導將分析日誌,詢問活動相關的問題,便於您完善現有策略。

  ◆ 全面提高儲存可靠性、擴充套件性和可用性

  SUSE Linux Enterprise Server新型儲存架構致力於在企業級伺服器同樣環境下具有更出色的表現。以更加可靠和可管理的架構支援小型檔案系統或數百萬檔案高達TB容量的儲存。從Web應用到資料庫,以更加靈活的架構為各種應用提供支援;以更高的可用性(HA)改善叢集效能。提高儲存架構擴充套件能力以並行叢集檔案系統的方式進行擴充套件。

  上述能力的提升全部基於全面整合的三大儲存架構元件:

  HA叢集資源管理器

  叢集卷管理器

  叢集並行檔案系統

  ◆ HA叢集資源管理器

  儲存架構的HA叢集資源管理器(HA Cluster Resource Manager)就是過去的高可用性故障恢復叢集。換句話說,這個叢集軟體可以識別發生故障的服務或伺服器,並將相應的服務轉移到叢集中仍在執行的節點,從而保證伺服器或服務的正常執行。HA叢集資源管理器的重要元件是整合了新推出的Heartbeat 2。

  作為高可用性Linux開源專案,與之前的Heartbeat 1相比,Heartbeat 2顯著提高了叢集的擴充套件能力。與限於兩個節點的叢集不同,叢集可以增加到六個節點。

  Heartbeat 2還新增了高階資源監控功能。這樣,應用軟體供應商可在其應用軟體中加入小型監控代理,以便在應用軟體停止正常執行時通知HA叢集資源管理器。這種功能在應用軟體不需要失效,但卻停止執行或不能做出應有響應時非常重要。資源監控代理可以檢測這種故障行為,通知HA叢集資源管理器要麼對應用進行重啟,要麼將其切換到叢集中的另一伺服器上。

  Heartbeat 2還與SUSE Linux Enterprise Server中的其他儲存構件緊密整合,彼此可以進行互動。例如,如果HA叢集資源管理器恢復故障資源,也可以透過其恢復檔案系統故障。如果捲上發生切換,叢集卷管理器可以識別這種切換,並反映到整個叢集。這種整合的另一個重要作用是使儲存架構具備管理功能。SUSE Linux Enterprise Server採用基於開放式標準的通用資訊模型(CIM),顯著提高了儲存架構的管理能力。

  應用軟體支援

  SUSE Linux Enterprise Server 9環境中執行的,以及通常稱為高階LAMP棧(Linux, Apache, MySQL和PHP/Perl/Python)上執行的現有應用軟體,均可以在SUSE Linux Enterprise Server 10上執行。不能直接呼叫作業系統支援Java執行環境的Java應用軟體同樣可以在這一系統上執行,本次釋出包括這種環境。

  不過,呼叫Linux執行緒的應用軟體需要做少量修改。在SUSE Linux Enterprise Server 10中,為有利於採用新型本機POSIX執行緒庫(NPTL),Novell取消了老的Linux執行緒模型。大部分開發商可能未注意到這種變化,因為SUSE Linux Enterprise Server 9在預設設定下采用NPTL。無論應用軟體採用NPTL還是Linux執行緒,一般都在設定LD_ASSUME_KERNEL環境變數時確定。這種情況只在應用軟體需要專門程式設計感知Linux執行緒時才會成為問題。

  應用軟體支援方面,SUSE Linux Enterprise Server現在與桌面對等系統共享通用程式碼庫。因此,Novell可為合作伙伴提供一套用於伺服器和桌面系統的軟體開發工具包(SDK),可供他們在同一環境下編碼測試兩種平臺,簡化開發工作。

  重要的是,900多家軟體和硬體供應商承諾共同為這一平臺提供支援,從而為SUSE Linux Enterprise Server提供了可靠保障並使其不斷髮展。

  ◆ 叢集卷管理器

  SUSE Linux Enterprise Server所含的卷管理器與SUSE Linux Enterprise Server 9中的基本相同,包括多磁碟、裝置對映器,邏輯卷管理器和邏輯卷管理器2。同時,還包括企業級卷管理系統2,這是一種可擴充套件的企業級卷管理器,具有插接功能和叢集感知能力。新推了出的版本中,企業級卷管理系統2與HA叢集資源管理器的Heartbeat 2和叢集並行檔案系統中的Oracle叢集檔案系統(OCFS 2)緊密整合。

  ◆ 叢集並行檔案系統

  SUSE Linux Enterprise Server(企業級伺服器)仍包括非並行,但採用叢集保護的可靠檔案系統ReiserFS v3、XFS和EXT3。而增加叢集並行檔案系統切實滿足了企業提高企業級檔案系統擴充套件性和可靠性的要求。叢集並行檔案系統不僅形成叢集保護,而且具有叢集感知能力,允許多個節點同時訪問相同的卷和相同的資料。

  SUSE Linux Enterprise Server在支援合作伙伴Polyserve和IBM解決方案的同時,還包含Oracle的OCFS 2成為頭條新聞。雖然第9版已配置了OCFS 2,但只能由Oracle的Real Application Clusters(真正應用叢集,RAC)加以支援。今年1月開始,OCFS 2包含在標準核心中,從而可與整個儲存架構緊密整合,構成資料中心的管理基礎。SUSE Linux Enterprise Server的OCFS 2支援已擴充套件到對其他應用軟體和資料庫的支援。Linux、Apache、MySQL及Perl和PHP棧均可以在其上執行。OCFS 2整合還是這一版本中Xen虛擬化的重要元件,叢集中所有節點可訪問同一虛擬影像。

  ◆ 虛擬增加伺服器

  除SUSE Linux Enterprise Server釋出外,最令人興奮的是推出伺服器虛擬功能。由劍橋大學主持的基於Xen的開源專案“伺服器虛擬化”從根本上消除了伺服器應用軟體、服務及檔案系統對特定裝置的繫結。

  新功能

  Xen伺服器虛擬化、儲存架構高可用性及AppArmor安全應用程式框架是SUSE Linux Enterprise Server 10目前推出的最新功能。不過,Novell最新推出的其他企業級伺服器產品也豐富了新的增強功能。

  在效能和可靠性方面,新推出的Linux Kernel 2.6.16最多可配置1024個 CPU。其他CPU和排程器改進包括增加了多核/超執行緒支援,可按執行區劃分多處理器機;機器可按CPU拆分,處理器可與某些CPU關聯;可插拔I/O排程器現在可根據特定的工作量進行最佳化,預裝的核心補丁支援英特爾今後推出的網路加速技術。IPMI、電源管理、USB、韌體、RAID、SAS、SATA、多徑及光纖通道等,也將採用先進的開源硬體驅動程式。同時,包括iSCSI傳送器和目標器,可供您採用商品化伺服器硬體建立全能SAN。

  管理性增強功能包括新型Novell客戶中心,便於您管理預訂。Novell ZENworks Linux Management功能可幫助您管理所有Linux伺服器和桌面系統。利用OpenLDAP,您可以管理大型使用者群及網路訪問控制。您可以在Novell eDirectory環境下,以及Active Directory(活動目錄)架構中全面整合SUSE Linux Enterprise Server。

  除AppArmor安全外,為強化安全性還增加了MIT Kerberos 1.4.3用於驗證,Snort 2.4.3版用於網路入侵檢測及AIDE檔案處理監控系統。在新增服務方面,SUSE Linux Enterprise Server推出SAMBA 3.0.21b, NFS v4, Cyrus IMAP Deamon Version 2.2, MySQL 5.0, PostgreSQL 8.1, Apache Web Server 2.2.0和PHP 5.1。

  當您利用虛擬技術在單個計算伺服器上執行多個獨立虛擬機器時,可以充分體會虛擬化的強大功能。(計算伺服器是一種沒有I/O功能的並行處理器,而是透過匯流排或其他前端處理器連線線路處理磁碟、終端、網路等裝置的I/O。)這樣可以隔離工作量,不必在同一胖作業系統(fat OS)上執行多個應用軟體,而是將每一應用軟體分開來在各自的虛擬機器上執行。如果某個應用軟體失效,由於採取隔離方式,因此不會影響計算伺服器各自虛擬機器上執行的其他服務和應用。而且,由於虛擬機器僅執行單個應用或服務,因此您只需要安裝這個應用所需的作業系統服務和元件。同時,獨立軟體開發商和整合商可以自己提供的解決方案開發高度定製的虛擬機器。

  伺服器虛擬化將高可用性提高到一個新的水平,發生故障的服務可以自動重啟。這意味著,縮短了應用或服務因故障停止執行的時間,儘管持續時間一般不足以造成生產問題。虛擬機器移植功能可將虛擬機器上執行的應用或服務,由叢集中的一個物理機轉移到另一物理機,不需要進行重啟。移植過程中不會造成停機,保持應用完整的執行狀態。這對於生產期間系統例行維護十分有利。

  超虛擬化(Paravirtualization)是一種採用軟體連線虛擬機器的虛擬技術,類似於底層硬體連線,但又不完全相同。

  在伺服器合併方面,由於單個計算伺服器可執行多個虛擬機器,虛擬機器也可執行不同客戶機作業系統,從而減輕了合併的工作量。儘管SUSE Linux Enterprise Server是伺服器虛擬的主機作業系統,但虛擬機器也可執行不同的超虛擬化客戶機作業系統。(超虛擬化是一種採用軟體連線虛擬機器的虛擬技術,類似於底層硬體連線,但又不完全相同。)因此,需要在原有作業系統上執行的應用軟體可包含在虛擬機器中,合併到單個計算伺服器上。採用AMD和英特爾即將推出的硬體技術,SUSE Linux Enterprise Server可支援全虛擬。

  域:域(Domain)是獨立虛擬機器的容器。

  管理程式:管理程式(Hypervisor)是Xen的核心,在物理層最高特權級硬體保護環路上執行,負責為域分配資源, 以域的本機架構虛擬檢視表示域。

  域0:作為特權級域,域0(Domain 0)安裝Xen虛擬化管理框架。這是管理程式匯入時啟動的第一個域。這個域管理所有其他域。域0可安裝其他虛擬機器所需的所有物理驅動器。SUSE Linux Enterprise Server可以作為主機OS在域0中執行,也可以作為客戶機在同一物理硬體上執行。

  非特權域:非特權域(Unprivileged Domain)指除域0之外的任何域,有時稱作DomU。

  驅動域:可授權域0之外的域訪問特定硬體I/O裝置,這種訪問不需要域0排程。這些驅動域(Driver Domain)選裝時,可減輕域0的工作量,提高系統效能。

  超虛擬化:經過超虛擬化(paravirtualized)的客戶機作業系統是一種經過修改能夠識別其在管理序之上執行的作業系統,以提高系統效能。

  全虛擬化:全虛擬化(Fully virtualized)作業系統不知道已被虛擬化,因此管理程式需要俘獲和模擬每個I/O及硬體指令。

  在即開即用方面,SUSE Linux Enterprise Server將提供全虛擬化和超虛擬化客戶機作業系統為其本身提供支援。今年晚些時候,Novell計劃為SUSE Linux Enterprise Server 9 SP3增加超虛擬化支援,並支援NetWare在“開放式企業級伺服器”環境下執行。

  雖然已正式宣佈支援,但開源社群已配置的核心仍以超虛擬客戶機的形式基於Xen執行,包括Linux 2.4、Linux 2.6、NetWare 6.5、NetBSD、FreeBSD、Plan9和OpenSolaris。即使對客戶機宣佈的支援有限,但Novell使基於Xen的SUSE Linux Enterprise Server成為最佳虛擬化平臺的堅定承諾十分明確,因此未來將值得您更多的期待。

  ◆ 更多,更多,更多

  如果您要的就是炸薯條、飲料加漢堡,那麼到汽車視窗對售貨員說來份套餐好了。但是,如果要求水平提高了,要的是汽車或房子超出了您想象的現有企業伺服器的支援能力, SUSE Linux Enterprise Server可以滿足您的需求。

  AppArmor社群

  為進一步方便組織利用AppArmor安全應用程式從中受益,Novell發起了一個開源專案,邀請您及其他社群成員共同推動AppArmor今後的發展,並提交您根據自己的應用所開發的AppArmor方案。這個專案的目標是建立安全應用程式預定策略大型知識庫,幫助您及開源社群中的其他成員快速方便地實際應用AppArmor,保護IT投資。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940325/,如需轉載,請註明出處,否則將追究法律責任。

相關文章