這里有一個很大的問題是:AppArmor怎么保護企業(yè)應用程序呢?最主要是通過白名單white listing的方法,通過定義應用程序可以允許采用那些動作來實現(xiàn)的。同樣黑名單Black Listing是通過定義阻止應用程序所采用的動作來實現(xiàn)的。黑名單會工作的很好直到有新的漏洞出現(xiàn)但是你關心不用知道這一切,你的系統(tǒng)處于無保護狀態(tài)直到商家發(fā)布新的補丁程序。
白名單是AppArmor中核心的策略,它用來仲裁應用程序?qū)ξ募湍夸浀脑L問許可,以及這個程序的POSIX兼容。POSIX是IEEE標準來把根權限分成不同的集。換句話說就是即使用應用程序需要真正的根權限才能正確執(zhí)行,AppArmor采取的措施是在內(nèi)核級別管理應用程序?qū)ξ募脑L問和POISIX的兼容性來限制應用程序?qū)Y源集和根權限的使用而不允許應用程序直接訪問未受保護的根權限。
對每個應用程序強制訪問使用白名單概念已經(jīng)有一段時間了,實際上National Security Agency(國家安全機構(gòu))已經(jīng)建立了一個相似的解決方案叫做Security-Enhanced Linux安全增強型Linux,但是它對系統(tǒng)性能的影響和難于部署限制了它的發(fā)展。 另外一方面AppArmor對系統(tǒng)性能的影響很小同時它集成在SUSE Linux企業(yè)版中使得它更加容易部署。
即開即用的保護
內(nèi)置在SUSE Linux企業(yè)版內(nèi)部的AppArmor策略是一套預定的策略包括通常的操作系統(tǒng)服務和程序,包括Apache網(wǎng)頁服務器,Postfix和Sendmai郵件服務器,Openssh,Squid,ntpd, nscd .這些策略是即開即用不用作修改的,除了Apache會需要人為指定它存放網(wǎng)頁的目錄和其它一些信息。
為應用程序建立AppArmor策略有四步可以通過在YaST管理控制臺啟動AppArmor程序?qū)崿F(xiàn)。
服務器分析器
AppArmor提供了一個工具用來決定你的系統(tǒng)中那個應用程序是和它相關的。 在YaST下的AppArmor菜單中點擊AppArmor 報表圖標就會運行Application Audit Report 程序?qū)徲媹蟊怼?這個進程自動的掃描運行服務器上打開了端口而沒有在AppArmor策略中定義的應用程序。當服務器分析器結(jié)束后它會提供給你一個可以從外部訪問并且需要定義策略的應用程序列表。
策略模版生成器
啟動Profile程序要在AppArmor 主菜單下點擊添加Profile向?qū)D標,選擇你要建立Profile的程序,AppArmor 將會建立一個快速靜態(tài)分析然后建立這個應用程序的模版。
學習模式
一旦策略模版建立,profile 向?qū)⒆詣舆M入學習模式,大部分的策略將在這個模式中產(chǎn)生。 在這個階段AppArmor 架構(gòu)監(jiān)視程序的運行,那些目錄和文件需要訪問,那些類型的訪問是必須的。當然如果讓學習模式工作必須要讓你的應用程序處在正常運行的狀態(tài)。 根據(jù)程序的復雜度這個過程持續(xù)幾個小時到幾天不等。
在學習模式期間沒有策略規(guī)則被強制應用在程序上,因此確信你的系統(tǒng)運行在隔離的環(huán)境中。這個環(huán)境應能保證系統(tǒng)正在試圖進行學習的時候?qū)⒉粫艿焦簟?BR>
AppArmor管理應用程序在內(nèi)核級別的文件訪問和POSIX兼容性來限制應用程序所需要的資源和根權限。
交互的優(yōu)化器
在學習期間AppArmor 建立了大量與正常和可接受的行為相關聯(lián)的事件日志。AppArmor中的交互優(yōu)化器解釋所有這些事件,通過Profile向?qū)г儐栆幌盗袉栴}的方式使得用戶可以快速的定義合理的策略。
例如:在學習的模式下應用程序會訪問某些目錄或文件,因此Profile向?qū)⒆尶蛻魪囊韵碌倪x項中選擇來決定策略是如何管理訪問的。
允許:它將給應用程序完全的目錄文件訪問控制,就像程序所期望的那樣。訪問能夠包括和排除讀寫和執(zhí)行模式。
拒絕:它拒絕對目錄文件的訪問也許會阻止程序的正常運行。
全局Glob:它應用通配符到路徑的最后一個條目,使得此目錄的應用程序訪問遵循定義好的訪問模式。當你確切知道應用程序訪問在目錄中的其它文件并不是我們所關心的主要問題的時候是很有意義的。建立通配符策略定義使得大大減少交互的進程因為交互優(yōu)化器將識別那些不用詢問你就可以訪問其它文件,,,,你通過兩次點擊Glob按鈕來建立兩個全局訪問策略。這樣就可以使得在目錄下的所有文件和子文件夾的文件訪問應用程序。
圖1
全局擴展Glob w/Ext:與全局Glob相似它不是把普通的通配符應用到路徑的最后一個條目,而是應用一個帶有擴展的通配符。例如:你可以指定所有帶有擴展的文件。這樣在這個目錄就能就能被應用程序訪問。(圖1)
Edit:彈出的對話框窗口將允許根據(jù)你的需要來改變目錄路徑和文件名。
正像前面提到的那樣,每次你回答完關于程序事件日志問題的時候,Profile向?qū)檫@個事件建立一個策略規(guī)則。如果這個規(guī)則符合其它的日志事件向?qū)г诮换サ倪^程中將會跳過這些事件。Profile向?qū)А?BR>
當你回答完這些問題,Profile向?qū)⒁圆噬姆绞皆试S你瀏覽和修改它,策略以高亮的黃色顯示引起你高度關注同時使得你能夠快速分析策略。(圖2)
一旦你完成基于文本文件的策略,你就可以很容易的把它部署到也能夠用應用相同程序并且需要相同策略的其它服務器。同時AppArmor包括Profile向?qū)Э梢允鼓爿p松升級已經(jīng)存在的程序策略這樣就可以應用你的策略變化或者增加新的規(guī)則。 一旦實施了程序的策略AppArmor將會記錄被測率拒絕事件的日志。就像Profile向?qū)б粯樱塒rofile向?qū)Ы忉屓罩静⑶彝ㄟ^詢問你關于事件的行為取代已存在的策略。(參看 AppArmor 社區(qū))。
更加健壯,更容易擴展,更有價值的存儲系統(tǒng)
全新SUSE Linux 企業(yè)版的存儲基礎架構(gòu)將會為企業(yè)服務器成立處理的更多。它的健壯的和可管理的系統(tǒng)基礎架構(gòu)支持小文件系統(tǒng)和TB級別的存儲。它擁有更加靈活的基礎架構(gòu)支持從Web應用服務器到數(shù)據(jù)庫應用。它還擁有增強的集群高可用性。它將是一個支持并行集群文件系統(tǒng)的擴展性基礎架構(gòu)。
所有這些功能都基于3個緊密集成在存儲基礎架構(gòu)平臺中的特性:HA 集群資源管理器、集群卷管理器、集群并行文件系統(tǒng)。
HA集群資源管理器
存儲基礎架構(gòu)的HA集群資源管理器就是我們經(jīng)常所說的高可用性故障轉(zhuǎn)移集群。 換句話說就是集群軟件識別服務或服務器故障,然后切換服務到另外一個存活節(jié)點使得繼續(xù)提供服務的高可用性。HA集群資源管理器的主要部件是集成的全新eartbeat2。
Heatbeat2,一個高可用性Linux項目,比它的以前版本Heartbeat1在集群的可擴展性上有很大的提升。不在局限于2個節(jié)點的集群,集群節(jié)點可以增加到16個。實際上支持節(jié)點的數(shù)目是沒有限制的,在超過16節(jié)點的環(huán)境中也曾經(jīng)測試過。
新的資源監(jiān)控功能也已經(jīng)被加入到Heartbeat2中,這就允許應用程序開發(fā)商在其程序中加入監(jiān)控代理,它可以當程序工作不正常的時候通知HA集群資源管理器。這對那些沒有真正崩潰而是停止響應或者延遲的時間是很重要的。資源監(jiān)測代理能發(fā)現(xiàn)這些不正常的行為然后通知HA集群資源管理器這些程序需要重新啟動或者把它切換到集群中其它的服務器上。
Heartbeat2和其它的存儲基礎架構(gòu)組件的集成也是很緊密的,這樣它就可以更好的交互。例如:如果HA集群資源管理器故障轉(zhuǎn)移了一個資源它也同時會轉(zhuǎn)移其中的文件系統(tǒng)。如果變化發(fā)生在卷上集群卷管理將識別這個變化并且確認在集群之間應用。另外一個關于集成的主要方面是可管理性已經(jīng)包括在存儲基礎架構(gòu)中。SUSE Linux企業(yè)版應用基于標準的通用信息模型CIM使得存儲基礎架構(gòu)的管理更加方便。