如何创建AppArmor配置文件以锁定Ubuntu上的程序

2025-11-19 04:32:18

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

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

AppArmor特别适用于限制可能被利用的软件,如Web浏览器或服务器软件。

2、查看AppArmor的状态

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

sudo apparmor_status

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

如何创建AppArmor配置文件以锁定Ubuntu上的程序

3、AppArmor配置文件

在AppArmor中,进程受配置文件的限制。上面的列表显示了我们在系统上安装的协议 - 这些协议是随Ubuntu一起提供的。您还可以通过安装apparmor-profiles软件包来安装其他配置文件。一些软件包 - 例如服务器软件 - 可能会随自带的AppArmor配置文件一起安装在系统上以及该软件包。您还可以创建自己的AppArmor配置文件来限制软件。

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

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

如何创建AppArmor配置文件以锁定Ubuntu上的程序

4、启用AppArmor For Firefox

您还可能会注意到,AppArmor附带了一个Firefox配置文件,它是/etc/apparmor.d目录中的usr.bin.firefox文件。默认情况下不启用,因为它可能会限制Firefox太多并导致问题。该/etc/apparmor.d/disable文件夹中包含一个指向该文件,这表明它是禁用的。

要启用Firefox配置文件并将Firefox与AppArmor限制在一起,请运行以下命令:

sudo rm /etc/apparmor.d/disable/usr.bin.firefox

cat /etc/apparmor.d/usr.bin.firefox | sudo apparmor_parser -a

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

如何创建AppArmor配置文件以锁定Ubuntu上的程序

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

sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/

sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢