AppArmor是一個重要的安全特性,從Ubuntu7.10開始預設包含在Ubuntu中。但是,它在後臺無聲地執行,因此您可能不知道它是什麼以及它在做什麼。
AppArmor鎖定易受攻擊的程序,限制這些程序中的安全漏洞可能造成的損害。AppArmor還可以用來鎖定Mozilla Firefox以提高安全性,但它在預設情況下不會這樣做。
AppArmor類似於SELinux,預設情況下在Fedora和Red Hat中使用。雖然它們的工作方式不同,但AppArmor和SELinux都提供了“強制訪問控制”(mandatory access control,MAC)安全性。實際上,AppArmor允許Ubuntu的開發人員限制程序可以採取的操作。
例如,在Ubuntu的預設配置中被限制的一個應用程式是evincepdfviewer。雖然Evince可以作為您的使用者帳戶執行,但它只能執行特定操作。Evince只有執行和處理PDF文件所需的最低許可權。如果在Evince的PDF呈現程式中發現漏洞,並且您打開了一個惡意的PDF文件,該文件接管了Evince,那麼AppArmor將限制Evince可能造成的損害。在傳統的Linux安全模型中,Evince可以訪問您可以訪問的所有內容。使用AppArmor,它只能訪問PDF檢視器需要訪問的內容。
AppArmor特別適用於限制可能被利用的軟體,例如web瀏覽器或伺服器軟體。
要檢視AppArmor的狀態,請在終端中執行以下命令:
sudo apparmor_status
您將看到AppArmor是否在您的系統上執行(預設情況下是執行的)、已安裝的AppArmor配置檔案以及正在執行的受限程序。
在AppArmor中,程序受配置檔案的限制。上面的列表向我們展示了安裝在系統上的協議——這些協議都是Ubuntu自帶的。您還可以透過安裝apparmor profiles包來安裝其他配置檔案。一些軟體包(例如伺服器軟體)可能會附帶自己的AppArmor配置檔案,這些配置檔案與軟體包一起安裝在系統上。您還可以建立自己的AppArmor配置檔案來限制軟體。
配置檔案可以在“抱怨模式”或“強制模式”下執行。在強制模式下(這是Ubuntu附帶的配置檔案的預設設定),AppArmor可以防止應用程式執行受限制的操作。在投訴模式下,AppArmor允許應用程式執行受限操作,並建立一個日誌條目來投訴。投訴模式非常適合在強制模式下啟用AppArmor配置檔案之前對其進行測試–您將看到強制模式下可能出現的任何錯誤。
概要檔案儲存在/etc/apparmor.d目錄中。這些配置檔案是可以包含註釋的純文字檔案。
您可能還注意到AppArmor附帶了一個Firefox配置檔案—它是usr.bin.firefox檔案檔案位於/etc/apparmor.d目錄中。它在預設情況下是不啟用的,因為它可能會限制Firefox太多並導致問題。/etc/apparmor.d/disable資料夾包含指向此檔案的連結,表示該檔案已被禁用。
要啟用Firefox配置檔案並使用AppArmor限制Firefox,請執行以下命令:
sudo rm /etc/apparmor.d/disable/usr.bin.firefox
cat /etc/apparmor.d/usr.bin.firefox | sudo apparmor_parser –a
執行完這些命令後,再次執行sudo apparmor\u status命令,您將看到Firefox配置檔案現在已載入。
要在Firefox配置檔案導致問題時禁用它,請執行以下命令:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
有關使用AppArmor的更多詳細資訊,請參閱AppArmor上的官方Ubuntu伺服器指南頁面。
... 但有點不對勁。為什麼你不能在Ubuntu中播放dvd?其他Linux發行版呢?這裡發生了什麼,你能做些什麼來修復它? ...
...普遍反映的問題,從矛盾到道德憤慨。我們來分析一下為什麼這是,不是,那麼重要。 ...