什么是AppArmor,它如何保证Ubuntu的安全?

AppArmor是一个重要的安全特性,从Ubuntu 7.10开始默认包含在Ubuntu中。但是,它在后台静默运行,因此您可能不知道它是什么以及它在做什么。

AppArmor锁定易受攻击的进程,限制这些进程中的安全漏洞可能造成的破坏。AppArmor还可以用来锁定Mozilla Firefox以提高安全性,但它在默认情况下不会这样做。

什么是AppArmor?

AppArmor类似于SELinux,默认情况下在Fedora和Red Hat中使用。虽然AppArmor和SELinux的工作方式不同,但它们都提供“强制访问控制”(MAC)安全性。实际上,AppArmor允许Ubuntu的开发人员限制进程可以采取的操作。

例如,受Ubuntu默认配置限制的一个应用程序是evince PDF查看器。虽然EVINCE可以作为您的用户帐户运行,但它只能执行特定操作。EVINCE仅具有运行和处理PDF文档所需的最低权限。如果在EVECE的PDF渲染器中发现漏洞,并且您打开了接管EVECE的恶意PDF文档,则AppArmor将限制EVINE可能造成的破坏。在传统的Linux安全模型中,evince可以访问您有权访问的所有内容。使用AppArmor,它只能访问PDF查看器需要访问的内容。

AppArmor对于限制可能被利用的软件(如Web浏览器或服务器软件)特别有用。

查看AppArmor的状态

要查看AppArmor的状态,请在终端中运行以下命令:

您将看到AppArmor是否在您的系统上运行(默认情况下正在运行)、安装的AppArmor配置文件以及正在运行的受限进程。

AppArmor配置文件

在AppArmor中,进程受配置文件限制。上面的列表向我们展示了安装在系统上的协议--这些协议是Ubuntu附带的。您也可以通过安装apapmor-profile软件包来安装其他配置文件。某些软件包(例如服务器软件)可能带有自己的AppArmor配置文件,这些配置文件随软件包一起安装在系统上。您还可以创建自己的AppArmor配置文件来限制软件。

配置文件可以在“投诉模式”或“强制模式”下运行。在强制模式下-Ubuntu附带的配置文件的默认设置-AppArmor会阻止应用程序执行受限操作。在投诉模式下,AppArmor允许应用程序采取受限操作,并创建一个日志条目来投诉这一点。在强制模式下启用AppArmor配置文件之前,投诉模式是测试AppArmor配置文件的理想选择-您将看到在强制模式下可能出现的任何错误。

配置文件存储在/etc/apapmor.d目录中。这些配置文件是纯文本文件,可以包含注释。

为Firefox启用AppArmor

您可能还注意到AppArmor附带了一个Firefox配置文件-它是/etc/parapmor.d目录中的usr.bin.Firefox文件。默认情况下不会启用它,因为它可能会对Firefox进行过多限制,从而导致问题。etc/apapmor.d/Disable文件夹包含指向此文件的链接,表示该文件已被禁用。

要启用Firefox配置文件并使用AppArmor限制Firefox,请运行以下命令:

运行这些命令之后,再次运行sudo apapmor_status命令,您将看到Firefox配置文件现在已加载。

要在Firefox配置文件导致问题时禁用它,请运行以下命令:

有关使用AppArmor的更多详细信息,请参考AppArmor上的官方Ubuntu服务器指南页面。