攻击者可以使用以下配置文件突破 apparmor 监狱吗?

信息安全 服装
2021-08-28 08:04:22

下面是我为 Web 应用程序创建的示例配置文件,其中我限制了它可以访问的文件/命令。它包括配置文件nginx, php-fpm and mysql,不允许使用命令,只有少数目录/文件用于读/写/flock 访问,以及网络套接字。

(其余的位于我的 github 存储库中)

/usr/bin/php-fpm {
  #include <abstractions/base>

  capability chown,
  capability kill,
  capability setgid,
  capability setuid,

  # Suppress the "DENY" error logs
  deny /usr/bin/bash x,

  /etc/php/** r,
  /run/php-fpm/ r,
  /run/php-fpm/php-fpm.* w,
  /usr/bin/php-fpm mr,
  /usr/lib/php/modules/* mr,

  /var/html/{**,} r,

  # logs
  /var/log/ r,
  /var/log/php*.log w,

  # Web folders that need write access
  /var/html/icy/{cache,logs,files,images,downloads}/{**,} rwk,
}

现在我相信在远程利用成功后,攻击者只能影响 web 应用程序文件夹,而不能进一步破坏系统,

所以我的问题是,攻击者还有机会突破吗?

如何?

1个回答

当然。您的配置文件(并且没有 apparmor 配置文件)不会限制内核攻击面。攻击者可以利用内核,解开 apparmor,然后退出。

只有几个目录/文件用于读/写/flock 访问,以及网络套接字。

注意到了吗?这会在您的个人资料中添加数百个文件。虽然您的个人资料可能看起来很紧凑,但实际上它允许大量访问。

也就是说,没有大问题突出。没有用户体验,没有对真正关键的东西的写入权限。但是这些功能很糟糕-您确定它们是必要的吗?大概是吧。