AppArmor 如何处理未配置的程序?

AppArmor 如何处理未配置的程序?

我在 Ubuntu 中设置并配置了 AppArmor,我想知道 AppArmor 如何处理没有 AppArmor 配置文件的软件包和应用程序?

安装软件包后sudo apt-get install apparmor-profiles,我有 175 个配置文件被报告为已加载aa-status

我无法想象我的机器上只安装了 175 个程序,我想知道 AppArmor 如何防止没有配置文件的程序出现安全漏洞。

答案1

根据http://wiki.apparmor.net常见问题解答:任何没有配置文件的程序基本上都是不受保护/不受约束的,可以在 Ubuntu 中做任何坏事,就像一开始就不存在 AppArmor 一样

答案2

一、AppArmor的背景:

AppArmor 的安全模型是将访问控制属性绑定到程序而不是用户。

AppArmor 配置文件可以采用以下两种模式之一:强制和投诉。

通过 Ubuntu 安全团队的 wiki 页面

因此,执法部门会强制执行任何规则(有关更多详细信息,看看这里) 被定义,并且抱怨只是将违反策略的尝试记录到系统日志(大多数时候)。

一些受支持的配置文件包括:

  • 杯子 (cupsd)
  • MySQL(mysqld)
  • Evince(Ubuntu 上的 PDF 查看器 - 默认启用)。
  • Firefox(默认情况下禁用,高级用户可选择加入)
  • Apache(网络服务器,同上)
  • 这样的清单还可以继续列下去,但是还不够长。完整列表请参见此处。

值得注意的例外是:

  • 铬。虽然它们确实有一个AppArmor 维基上的简介,好像没人用它。
  • 我没有在这个列表中看到同理心、洋泾浜语或传输,或者任何与它们类似的东西。

最后,有人问过类似的问题对于任何未定义的内容的后备配置文件。

但答案是,默认情况下,如果应用程序在 AppArmor 中没有配置文件,它将可以访问所有内容 - 它不会被沙盒化。

然而,在 12.10 上,Chrome 将在 seccomp-bpf 沙箱中运行,该沙箱的模块从 Linux 内核 3.5 版反向移植到 Canonical 12.10 使用的 3.2 系列。

答案3

有趣的是,@humanityANDpeace 在提供解决方案的同时回答了“否”在另一个线程中

无论如何,为了完整起见,以下是答案:

profile default /** {
  #insert default profile rules here
}

来源

相关内容