过多的 Firefox 相关 AppArmor 日志条目

Ale*_*lex 8 permissions firefox apparmor 22.04

我最近安装并完全更新了 Ubuntu 22.04.1 LTS (jammy),64 位(amd64,x86_64)。我删除了“snapd”及其默认安装的应用程序集,其中包括 Firefox 浏览器(在 22.04 中默认由“snap”覆盖)。我只是不想依赖“快照”,并且这篇文章并不意味着与“快照”的优缺点相关。

此外,我使用 Mozilla Team 存储库 ( https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ )通过“APT”安装了 Firefox 109.0(64 位)。我注意到浏览器活动期间会生成大量与 Firefox 相关的“DENIED”AppArmor 日志消息。

以下是 Firefox 启动后立即生成的一组日志条目:

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.813:39): apparmor="DENIED" operation="capable" profile="firefox" pid=2231 comm="firefox" capability=21  capname="sys_admin"

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.877:40): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/revision" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.877:41): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/config" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.877:42): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/revision" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.877:43): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/config" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.885:44): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/revision" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.885:45): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/config" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.885:46): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/revision" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.885:47): apparmor="DENIED" operation="open" profile="firefox" name="/sys/devices/pci0000:00/0000:00:02.0/config" pid=2235 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

[Tue Jan 17 19:14:50 2023] audit: type=1400 audit(1674000890.941:48): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2231/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
Run Code Online (Sandbox Code Playgroud)

这是在常规浏览器活动期间生成的附加日志的示例:

[Tue Jan 17 19:16:22 2023] audit: type=1400 audit(1674000983.040:56): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2347/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000

[Tue Jan 17 19:16:35 2023] audit: type=1400 audit(1674000995.296:57): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2347/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000

[Tue Jan 17 19:16:39 2023] audit: type=1400 audit(1674000999.280:58): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2347/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000

[Tue Jan 17 19:16:41 2023] audit: type=1400 audit(1674001001.768:59): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2455/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000

[Tue Jan 17 19:16:41 2023] audit: type=1400 audit(1674001001.768:60): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2458/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000

[Tue Jan 17 19:16:41 2023] audit: type=1400 audit(1674001001.768:61): apparmor="DENIED" operation="open" profile="firefox" name="/proc/2461/oom_score_adj" pid=2231 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000---
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,Firefox 被拒绝对“/sys/devices/”区域的读访问以及对“/proc/”中“oom_score_adj”的读/写访问。有人可以澄清为什么常规浏览器操作需要该访问权限吗?如果 AppArmor 规则允许这些尝试,是否会对性能和/或安全性产生任何潜在的负面影响?我有点困惑,因为我没有注意到旧的 Ubuntu 和 Firefox 版本有任何类似的情况。只要对应用程序的性能没有负面影响,完全抑制这些消息也是一种选择。

我知道这对于应用程序开发人员(Firefox)来说可能是一个更多的问题,但我很感激任何输入或提示。

小智 3

必须将其他规则添加到 Firefox Apparmor 配置文件中。

编辑/etc/apparmor.d/usr.bin.firefox并添加:

# allow firefox to adjust its out of memory killer scroe
@{PROC}/[0-9]*/oom_score_adj rw,

# allow firefox to retrieve information about its own cgroups
@{PROC}/[0-9]*/cgroup r,
Run Code Online (Sandbox Code Playgroud)

Firefox 在启动时会尝试访问更多内容,但我不完全确定允许它们是否是一个好主意,因此我不包括它们。允许 oom 分数调整的选项可以让您摆脱大部分日志消息。

如果您需要生成apparmor规则,请询问LLM以及错误日志。