我在 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 配置文件可以采用以下两种模式之一:强制和投诉。
因此,执法部门会强制执行任何规则(有关更多详细信息,看看这里) 被定义,并且抱怨只是将违反策略的尝试记录到系统日志(大多数时候)。
一些受支持的配置文件包括:
- 杯子 (cupsd)
- MySQL(mysqld)
- Evince(Ubuntu 上的 PDF 查看器 - 默认启用)。
- Firefox(默认情况下禁用,高级用户可选择加入)
- Apache(网络服务器,同上)
- 这样的清单还可以继续列下去,但是还不够长。完整列表请参见此处。
值得注意的例外是:
- 铬。虽然它们确实有一个AppArmor 维基上的简介,好像没人用它。
- 我没有在这个列表中看到同理心、洋泾浜语或传输,或者任何与它们类似的东西。
最后,有人问过类似的问题对于任何未定义的内容的后备配置文件。
但答案是,默认情况下,如果应用程序在 AppArmor 中没有配置文件,它将可以访问所有内容 - 它不会被沙盒化。
然而,在 12.10 上,Chrome 将在 seccomp-bpf 沙箱中运行,该沙箱的模块从 Linux 内核 3.5 版反向移植到 Canonical 12.10 使用的 3.2 系列。