问题标签 [apparmor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
79 浏览

linux-capabilities - AppArmor:如何使用 CAP_SYS_ADMIN/CAP_SYS_CHROOT 阻止 pid=host 容器读取(某些)主机文件?

Given 是一个具有pid=host(因此它位于初始 PID 命名空间中并且对所有进程具有完整视图)的容器。这个容器(更确切地说,它的进程)还具有 和 功能CAP_SYS_ADMINCAP_SYS_CHROOT因此它可以使用setns(2).

  • 是否可以使用 AppArmor 阻止此容器访问主机中的任意文件(初始挂载命名空间),但某些文件除外,例如/var/run/foo
  • AppArmor 如何根据挂载命名空间评估文件系统路径名?它是“忽略”挂载命名空间并只采用指定的路径,还是转换路径,例如在处理绑定挂载的子树等时?
0 投票
1 回答
19 浏览

apparmor - AppArmor:没有任何附加参数的单个“文件”子句是什么意思?

Docker 的默认容器 AppArmor 配置文件包含一个“文件”子句,没有任何附加信息:

这到底是什么意思,这个子句是否授予对任何文件的完全访问权限?我已经检查了 AppArmor 的apparmor.d(5)手册页,但它没有明确提到这种情况,相反,说:

0 投票
1 回答
730 浏览

qemu - virt-aa-helper 不在 AppArmor 生成的规则中添加存储池的路径

我在新的 Ubuntu 20.04 主机 (libvirtd (libvirt) 6.0.0) 上有一个新的 VM,由于 AppArmor 拒绝对 VM 磁盘的读取访问而无法启动。磁盘定义如下:

在 VM 启动期间,它失败并显示以下消息:

权限是正确的,我已经通过禁用 AppArmor 进行了验证,并且内核日志中还打印了以下内容:

查看virt-aa-helperin生成的配置文件/etc/apparmor.d/libvirt/(在 VM 启动时),我可以看到以下内容:

由于某种原因,磁盘的路径丢失,而 ISO 已正确添加。我可以在以下位置看到默认池的路径/etc/apparmor.d/usr.lib.libvirt.virt-aa-helper

我怀疑卷中的磁盘文件应该有一个条目。为什么不virt-aa-helper加呢?

0 投票
1 回答
49 浏览

r - 结合 R 管道工和 RAppArmor

我只是想以某种方式组合管道工和 RAppArmor 包,用户可以使用管道工 API 将代码发送到服务器,然后在 RAppArmor 中的配置文件的帮助下安全地评估该服务器。如何使以下代码工作:

这个代码块是稍后发生的事情的简化版本。到目前为止,鉴于 r-user(RAppArmor 的标准配置文件)中的用户限制,似乎函数中指定的任何对象(例如数据)都无法传递给 eval.secure。我什至尝试通过编辑配置文件来允许 r-user 完全访问 /**,但没有成功。在 localhost 上打开管道工并使用 curl withcurl --data "func=function(x){return(nrow(x))}" "http://localhost:8000/eval_res"获取 eval.secure() 的结果会导致答案为空{}。相同的代码在没有 eval.secure() 的情况下工作并正确返回[100]。有人可以帮助我,以便我更好地理解问题甚至修复代码吗?

我目前的解决方法是在 eval.secure() 之前将所有内容保存到 csv 中,然后在 eval.secure 中读取它,授予对 r-user 配置文件中该文件夹的访问权限,但这绝对不是一个令人信服的解决方案。

对于那些对函数感到困惑的人:在后面的步骤中,选项 func 将包含一些将被解析和评估的代码,但对于这个小例子,我认为它只会增加不必要的复杂性。

提前致谢!

0 投票
2 回答
1540 浏览

docker - Docker 停止工作并出现错误消息 OCI 运行时创建失败

我正在使用 Manjaro Linux 和 Kernerl 5.10.13。

我不确定发生了什么,也许有些东西更新了,但 Docker 停止为我工作。

当我尝试做时docker run hello-world,我看到以下消息:

如果我切换到内核 5.9.16,它似乎没问题。我在这里错过了什么吗?

0 投票
2 回答
154 浏览

linux - AppArmor 如何处理 Linux 内核挂载命名空间?

我已经通过AppArmor 的 wiki 的 wiki进行了搜索,并尝试在 Internet 上搜索“apparmor mount namespace”(或类似名称)。然而,我总是对 AppArmor 如何处理它们持空白,考虑到 OCI 容器在没有挂载命名空间的情况下就无法存在,这尤其奇怪。AppArmor 是否将挂载命名空间纳入任何帐户,还是只是检查传递给某个系统调用的文件名?

如果容器内的进程切换挂载命名空间,AppArmor 是否会注意到,或者它只是挂载命名空间不可知,因为它不关心?例如,如果一个容器进程切换到初始挂载命名空间,我是否可以编写 AppArmor MAC 规则来防止这样的进程访问敏感的主机文件,而允许访问自己容器内的相同文件?

0 投票
1 回答
48 浏览

apparmor - AppArmor 配置文件中的“AARE”是什么?

apparmor.d (5)的手册页在多个地方使用了该语法元素AARE,例如在SIGNAL PEER = 'peer' '=' AARE.

的定义AARE是这样的:

我现在的问题是:这个“下面”在哪里?我怀疑AARE可能是指“AppArmor 正则表达式”,但我根本无法在 AA 文档中的任何地方找到任何解释。谷歌搜索或 DuckduckGo'ing 为“apparmor AARE”simpy 绘制空白,除了我在“下面”找不到任何解释的手册页。有一个关于“通配符”的部分,但我完全不清楚AAREs (正则表达式?)是否实际上指的是“通配符”——但通配符不是正则表达式。

那么AARE它们的语法示例是什么以及它们的语法示例是什么,因为我真的不明白?*[]{}^.

0 投票
0 回答
168 浏览

nextcloud - 在 lxd 中捕捉 nextcloud,apparmor 失败

我的 nextcloud 服务失败了,该服务通过 snap 在 LXD 容器中运行

0 投票
0 回答
424 浏览

apparmor - 如何在不同命名空间的 ubuntu 20.04 下使用 snap?获得许可被拒绝错误

我使用网络命名空间 (ns) 已经有一段时间了。在我的工作中,出于网络目的,我​​在不同的命名空间中启动了不同的 Chromium 浏览器。在我将操作系统升级到 20.04 之前,该方案在 Ubuntu 19.04 中运行。现在我收到奇怪的权限被拒绝错误。

我试图从 journalctl 获取日志,$journalctl |grep audit|tail这给了我一个结果:

似乎 Ubuntu 的 apparmor snapd 规则发生了一些变化。但我不知道在哪里挖掘。在 apparmor 规则文件中没有可以解决“x”掩码的内容/etc/apparmor.d/usr.lib.snapd.snap-confine.real

0 投票
0 回答
127 浏览

linux - 使用“apparmor + firejail”的问题,特别是在运行 cmd“firejail firefox”时,套接字错误?

我目前正在做一些操作系统系统强化,并且在实施 firejail 时遇到了一些问题。最终目标是同时使用“apparmor”和“firejail”来强化系统(apparmor 已经安装并运行)。目前的主要问题是当我运行命令时firejail firefox收到错误消息:

这也是尽管“dbus”服务正在运行的事实。我该如何解决这个问题?我在看什么?

PS 我在 VBox 中运行操作系统,这可能是一个促成因素吗?