這里有一個很大的問題是:AppArmor怎么保護(hù)企業(yè)應(yīng)用程序呢?最主要是通過白名單white listing的方法,通過定義應(yīng)用程序可以允許采用那些動作來實現(xiàn)的。同樣黑名單Black Listing是通過定義阻止應(yīng)用程序所采用的動作來實現(xiàn)的。黑名單會工作的很好直到有新的漏洞出現(xiàn)但是你關(guān)心不用知道這一切,你的系統(tǒng)處于無保護(hù)狀態(tài)直到商家發(fā)布新的補(bǔ)丁程序。
  
      白名單是AppArmor中核心的策略,它用來仲裁應(yīng)用程序?qū)ξ募湍夸浀脑L問許可,以及這個程序的POSIX兼容。POSIX是IEEE標(biāo)準(zhǔn)來把根權(quán)限分成不同的集。換句話說就是即使用應(yīng)用程序需要真正的根權(quán)限才能正確執(zhí)行,AppArmor采取的措施是在內(nèi)核級別管理應(yīng)用程序?qū)ξ募脑L問和POISIX的兼容性來限制應(yīng)用程序?qū)Y源集和根權(quán)限的使用而不允許應(yīng)用程序直接訪問未受保護(hù)的根權(quán)限。
  
      對每個應(yīng)用程序強(qiáng)制訪問使用白名單概念已經(jīng)有一段時間了,實際上National Security Agency(國家安全機(jī)構(gòu))已經(jīng)建立了一個相似的解決方案叫做Security-Enhanced Linux安全增強(qiáng)型Linux,但是它對系統(tǒng)性能的影響和難于部署限制了它的發(fā)展。 另外一方面AppArmor對系統(tǒng)性能的影響很小同時它集成在SUSE Linux企業(yè)版中使得它更加容易部署。
  
      即開即用的保護(hù)
  
      內(nèi)置在SUSE Linux企業(yè)版內(nèi)部的AppArmor策略是一套預(yù)定的策略包括通常的操作系統(tǒng)服務(wù)和程序,包括Apache網(wǎng)頁服務(wù)器,Postfix和Sendmai郵件服務(wù)器,Openssh,Squid,ntpd, nscd .這些策略是即開即用不用作修改的,除了Apache會需要人為指定它存放網(wǎng)頁的目錄和其它一些信息。
  
      為應(yīng)用程序建立AppArmor策略有四步可以通過在YaST管理控制臺啟動AppArmor程序?qū)崿F(xiàn)。
  
      服務(wù)器分析器
  
      AppArmor提供了一個工具用來決定你的系統(tǒng)中那個應(yīng)用程序是和它相關(guān)的。 在YaST下的AppArmor菜單中點擊AppArmor 報表圖標(biāo)就會運(yùn)行Application Audit Report 程序?qū)徲媹蟊怼?這個進(jìn)程自動的掃描運(yùn)行服務(wù)器上打開了端口而沒有在AppArmor策略中定義的應(yīng)用程序。當(dāng)服務(wù)器分析器結(jié)束后它會提供給你一個可以從外部訪問并且需要定義策略的應(yīng)用程序列表。
  
      策略模版生成器
  
      啟動Profile程序要在AppArmor 主菜單下點擊添加Profile向?qū)D標(biāo),選擇你要建立Profile的程序,AppArmor 將會建立一個快速靜態(tài)分析然后建立這個應(yīng)用程序的模版。
  
      學(xué)習(xí)模式
  
      一旦策略模版建立,profile 向?qū)⒆詣舆M(jìn)入學(xué)習(xí)模式,大部分的策略將在這個模式中產(chǎn)生。 在這個階段AppArmor 架構(gòu)監(jiān)視程序的運(yùn)行,那些目錄和文件需要訪問,那些類型的訪問是必須的。當(dāng)然如果讓學(xué)習(xí)模式工作必須要讓你的應(yīng)用程序處在正常運(yùn)行的狀態(tài)。 根據(jù)程序的復(fù)雜度這個過程持續(xù)幾個小時到幾天不等。
  
      在學(xué)習(xí)模式期間沒有策略規(guī)則被強(qiáng)制應(yīng)用在程序上,因此確信你的系統(tǒng)運(yùn)行在隔離的環(huán)境中。這個環(huán)境應(yīng)能保證系統(tǒng)正在試圖進(jìn)行學(xué)習(xí)的時候?qū)⒉粫艿焦簟?BR>  
      AppArmor管理應(yīng)用程序在內(nèi)核級別的文件訪問和POSIX兼容性來限制應(yīng)用程序所需要的資源和根權(quán)限。
  
      交互的優(yōu)化器
  
      在學(xué)習(xí)期間AppArmor 建立了大量與正常和可接受的行為相關(guān)聯(lián)的事件日志。AppArmor中的交互優(yōu)化器解釋所有這些事件,通過Profile向?qū)г儐栆幌盗袉栴}的方式使得用戶可以快速的定義合理的策略。
  
      例如:在學(xué)習(xí)的模式下應(yīng)用程序會訪問某些目錄或文件,因此Profile向?qū)⒆尶蛻魪囊韵碌倪x項中選擇來決定策略是如何管理訪問的。
  
      允許:它將給應(yīng)用程序完全的目錄文件訪問控制,就像程序所期望的那樣。訪問能夠包括和排除讀寫和執(zhí)行模式。
  
      拒絕:它拒絕對目錄文件的訪問也許會阻止程序的正常運(yùn)行。
  
      全局Glob:它應(yīng)用通配符到路徑的最后一個條目,使得此目錄的應(yīng)用程序訪問遵循定義好的訪問模式。當(dāng)你確切知道應(yīng)用程序訪問在目錄中的其它文件并不是我們所關(guān)心的主要問題的時候是很有意義的。建立通配符策略定義使得大大減少交互的進(jìn)程因為交互優(yōu)化器將識別那些不用詢問你就可以訪問其它文件,,,,你通過兩次點擊Glob按鈕來建立兩個全局訪問策略。這樣就可以使得在目錄下的所有文件和子文件夾的文件訪問應(yīng)用程序。
  
  



圖1



      全局?jǐn)U展Glob w/Ext:與全局Glob相似它不是把普通的通配符應(yīng)用到路徑的最后一個條目,而是應(yīng)用一個帶有擴(kuò)展的通配符。例如:你可以指定所有帶有擴(kuò)展的文件。這樣在這個目錄就能就能被應(yīng)用程序訪問。(圖1)
  
      Edit:彈出的對話框窗口將允許根據(jù)你的需要來改變目錄路徑和文件名。
  
      正像前面提到的那樣,每次你回答完關(guān)于程序事件日志問題的時候,Profile向?qū)檫@個事件建立一個策略規(guī)則。如果這個規(guī)則符合其它的日志事件向?qū)г诮换サ倪^程中將會跳過這些事件。Profile向?qū)А?BR>  
      當(dāng)你回答完這些問題,Profile向?qū)⒁圆噬姆绞皆试S你瀏覽和修改它,策略以高亮的黃色顯示引起你高度關(guān)注同時使得你能夠快速分析策略。(圖2)
  
      一旦你完成基于文本文件的策略,你就可以很容易的把它部署到也能夠用應(yīng)用相同程序并且需要相同策略的其它服務(wù)器。同時AppArmor包括Profile向?qū)Э梢允鼓爿p松升級已經(jīng)存在的程序策略這樣就可以應(yīng)用你的策略變化或者增加新的規(guī)則。 一旦實施了程序的策略AppArmor將會記錄被測率拒絕事件的日志。就像Profile向?qū)б粯?,升級Profile向?qū)Ы忉屓罩静⑶彝ㄟ^詢問你關(guān)于事件的行為取代已存在的策略。(參看 AppArmor 社區(qū))。
  
      更加健壯,更容易擴(kuò)展,更有價值的存儲系統(tǒng)
  
      全新SUSE Linux 企業(yè)版的存儲基礎(chǔ)架構(gòu)將會為企業(yè)服務(wù)器成立處理的更多。它的健壯的和可管理的系統(tǒng)基礎(chǔ)架構(gòu)支持小文件系統(tǒng)和TB級別的存儲。它擁有更加靈活的基礎(chǔ)架構(gòu)支持從Web應(yīng)用服務(wù)器到數(shù)據(jù)庫應(yīng)用。它還擁有增強(qiáng)的集群高可用性。它將是一個支持并行集群文件系統(tǒng)的擴(kuò)展性基礎(chǔ)架構(gòu)。
  所有這些功能都基于3個緊密集成在存儲基礎(chǔ)架構(gòu)平臺中的特性:HA 集群資源管理器、集群卷管理器、集群并行文件系統(tǒng)。
  
  
      HA集群資源管理器
  
      存儲基礎(chǔ)架構(gòu)的HA集群資源管理器就是我們經(jīng)常所說的高可用性故障轉(zhuǎn)移集群。 換句話說就是集群軟件識別服務(wù)或服務(wù)器故障,然后切換服務(wù)到另外一個存活節(jié)點使得繼續(xù)提供服務(wù)的高可用性。HA集群資源管理器的主要部件是集成的全新eartbeat2。
  
      Heatbeat2,一個高可用性Linux項目,比它的以前版本Heartbeat1在集群的可擴(kuò)展性上有很大的提升。不在局限于2個節(jié)點的集群,集群節(jié)點可以增加到16個。實際上支持節(jié)點的數(shù)目是沒有限制的,在超過16節(jié)點的環(huán)境中也曾經(jīng)測試過。
  
      新的資源監(jiān)控功能也已經(jīng)被加入到Heartbeat2中,這就允許應(yīng)用程序開發(fā)商在其程序中加入監(jiān)控代理,它可以當(dāng)程序工作不正常的時候通知HA集群資源管理器。這對那些沒有真正崩潰而是停止響應(yīng)或者延遲的時間是很重要的。資源監(jiān)測代理能發(fā)現(xiàn)這些不正常的行為然后通知HA集群資源管理器這些程序需要重新啟動或者把它切換到集群中其它的服務(wù)器上。
  
      Heartbeat2和其它的存儲基礎(chǔ)架構(gòu)組件的集成也是很緊密的,這樣它就可以更好的交互。例如:如果HA集群資源管理器故障轉(zhuǎn)移了一個資源它也同時會轉(zhuǎn)移其中的文件系統(tǒng)。如果變化發(fā)生在卷上集群卷管理將識別這個變化并且確認(rèn)在集群之間應(yīng)用。另外一個關(guān)于集成的主要方面是可管理性已經(jīng)包括在存儲基礎(chǔ)架構(gòu)中。SUSE Linux企業(yè)版應(yīng)用基于標(biāo)準(zhǔn)的通用信息模型CIM使得存儲基礎(chǔ)架構(gòu)的管理更加方便。

分享到

多易

相關(guān)推薦