问题标签 [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.
linux - AppArmor 如何进行“环境擦洗”?
AppArmor 文档提到让应用程序能够在有或没有环境清理的情况下执行其他程序。显然,经过清理的环境更安全,但文档似乎并没有具体说明环境清理是如何发生的。
什么是环境清理,AppArmor 做了什么来清理环境?
amazon-web-services - 是否可以在 AWS 中运行 AppArmor?
我是 AWS 新手。我想在 AWS linux 中设置一个沙箱。我能找到的最简单的方法是使用预先构建的组件,例如 AppArmor 或 SELinux。
但我找不到任何有关 AWS 是否支持 AppArmor 的文章?
请帮我解决这个问题?
谢谢吉乔伊
mysql - MySQL 在 Ubuntu 11.04 上每 30 分钟重启一次
我遇到了 MySQL 5.1.54 在 Ubuntu 11.04 上每 30 分钟重新启动一次的问题。发生这种情况时,MySQL 日志中会出现以下内容:
这就像每 30 分钟一次的发条一样,所以显然是一些服务重新启动它。
我检查了系统上每个用户(包括系统用户)的 crontab,但他们都没有设置 crontab,如下面的输出所示:
每次重新启动时,我的 dmesg 都包含以下内容。我不是 apparmor 专家,但我相信这是每次 MySQL 服务启动时获得的正常消息:
另外,这里是 /etc/init/mysql.conf 中 MySQL upstart 配置的内容:
知道可能是什么原因造成的吗?它不会导致任何问题,除了 Monit 警报指出“PID 已更改服务 mysqld”(我有 Monit 监控 mysqld ——但它报告 mysqld 进程没有错误,除了每 30 分钟,它有自 MySQL 重新启动以来,PID 已更改)。
提前致谢。
linux - 适用于 linux 内核 2.6.31 的 Apparmor 补丁
我们正在开发使用 MIPS(broadcom) 内核的嵌入式系统。现在我想用 apparmor 补丁修补供应商提供的 2.6.31 内核。但是我找不到它们。根据http://wiki.apparmor.net/index.php/Main_Page可以在 git://git.kernel.org/pub/scm/linux/kernel/git/jj/ 的 Linux git 树中找到补丁apparmor-dev.git。但是,再也找不到那棵树了。(可能在 kernel.org 泄露后丢失了?)
我现在在哪里可以找到这个补丁?
谢谢
apache - Apparmor 和 IPv6
我使用 Apache2 mod_proxy_ajp 代理对 Tomcat 的请求。Apache 使用 AppArmor 进行沙盒化。当主机具有有效的 ipv4 地址时,一切正常。但是,当在仅 LAN 地址的并行内部使用时,代理返回空页面。
查看 /var/log/kern.log 时,我看到下面的行。aa-logprof 不知道如何处理它。我怀疑这是由于并行分配了 ipv6 局域网地址而不是 ipv4。我该如何解决这个问题?
r - R 和 getpwuid()
我正在使用 apparmor 在 Ubuntu 11.10 上对 R 进行沙盒处理。我注意到的一件事是,对于 R 创建的每个 png 或 pdf 图,它都会显示警告:
然而,即使对 /etc/passwd 的读取访问被拒绝,一切似乎都运行良好。我不打算给 R 这些权限,因为我想做的事情似乎没有必要。然而,反复出现的警告有点烦人。
R/src 中“getpwuid”的快速 grep 显示了调用它的三个位置:
但是,我并不清楚这是做什么的。
问题:
- 为什么 R 需要访问 passwd 文件来创建绘图?
- 有什么方法可以阻止 R 在写入 png 或 pdf 设备时尝试调用 getpwuid_r() (无需重新编译 R)?
qemu - apparmor 使用自定义 qemu 导致 libvirt 出现问题
我想使用定制版本的 qemu 运行 libvirt。但是,在我安装了我的 qemu 版本并重新启动后,我在 dmesg 中收到以下消息
type=1400 审计(1338385059.381:51): apparmor="DENIED" operation="exec" parent=1700 profile="/usr/sbin/libvirtd" name="/usr/local/bin/qemu-system-x86_64" pid =1746 comm="libvirtd" requested_mask="x" denied_mask="x" fsuid=0 ouid=0
我尝试编辑 /etc/apparmor.d/abstractions/libvirt-qemu 并添加以下行并重新启动
/usr/local/bin/qemu-system-x86_64 rmix,
但是,问题仍然存在。我对 apparmor 真的很陌生,实际上在我发现这个错误之前并没有读过太多。任何帮助将不胜感激。
linux - 防止进程更改其进程组 ID (`setpgid`)
Linux 中是否有任何方法可以防止进程修改其进程组 ID,即通过调用setpgid
?我需要这样做,因为我正在创建一个沙箱,并且我希望能够在 n 秒后杀死一个进程及其所有子进程。我正在从进程组 ID 中识别子代,因此我需要确保无法更改此值。
有一些东西被调用CAP_SETGID
,但我认为这是指进程的用户组 ID,即设置的内容与setgid
哪些不同setpgid
?
security - Qemu/KVM:来宾之间的保护
在http://libvirt.org/drvqemu.html#securitysvirtaa上,它说 Apparmor 没有来宾之间的保护。当我在具有活动 apparmor 的 ubuntu 下使用 libvirt 来启动来宾时,它会自动为每个来宾创建策略文件。它们是否意味着特定于过程的保护?
php - 当 PHP 需要 shell 时,使用与 /bin/sh 不同的路径
我希望 PHP 在需要 shell 时在给定路径上使用可执行文件,而不是在需要 shell 的每种情况下使用默认的 /bin/sh(例如 mail() 函数在 UNIX 平台上启动 sendmail,system()函数,反引号运算符等)。由于我使用 PHP 作为 apache 模块,因此我尝试更改 /etc/passwd 中 www-data 用户的 shell,因为 webserver 以该用户身份运行。那没有帮助。我还尝试使用 SetEnv 在 apache 配置中设置 SHELL 变量,但它也没有帮助。我想这样做,因为我想审核 PHP 完成的所有 shell 调用,以记录和/或拒绝/接受它们。禁用像 system() 这样的 PHP 函数不是一个选项,因为现有(无法修改)解决方案使用它。我已经用 C 编写了那个“受限外壳”,
是的,我已经问过这个与 mail() 函数相关的问题,但我意识到我需要一个非常通用的解决方案,而且它不仅与 mail() 相关,而且问题是一般的 shell 使用,在许多不同的情况。我也考虑过在 apparmor 中覆盖路径名的可能性,但我认为这是不可能的。为 apache/PHP 提供自定义 chroot“监狱”的解决方案只是为了提供不同的 shell,这对我来说似乎是一个巨大的过度杀伤情况:(
提前非常感谢!