AppArmor 在 aa-complain 模式下杀死 apache2,为什么会出现 mysqld.sock 失败?

AppArmor 在 aa-complain 模式下杀死 apache2,为什么会出现 mysqld.sock 失败?

我正在运行 Ubuntu 18.04.1 LTS

我正在尝试在 AppArmor 中创建一个 apache2 配置文件,但当我运行 aa-genprof 并尝试访问我的 Drupal 网站以扫描配置文件的进程时,我的网站崩溃了,而配置文件正在以投诉模式进行扫描。以下是抛出的 syslog 行:

12 月 29 日 07:21:41 ip-172-31-9-2 内核:[225623.487271] 审核:类型 = 1400 审核(1546068101.318:6846):apparmor =“ALLOWED”操作 =“connect”信息 =“名称查找失败 - 断开路径”错误 = -13 配置文件 =“/usr/sbin/apache2”名称 =“run/mysqld/mysqld.sock”pid = 30086 comm =“apache2”requested_mask =“wr”denied_mask =“wr”fsuid = 33 ouid = 106

这是 aa-genprof 创建的 user.sbin.apache2 AppArmor 配置

# 最后修改时间:2018 年 12 月 29 日星期六 03:30:28
#包括

/usr/sbin/apache2 标志=(attach_disconnected,投诉) {
  #包括
  #包括
  #包括

  ^DEFAULT_URI 标志=(投诉){
  }

  ^HANDLING_UNTRUSTED_INPUT 标志=(投诉){
  }
}

要恢复 Web 服务器,我必须禁用 apache2 配置文件...我尝试使用 aa-logprof 更正 apparmore apache2 配置文件,但不起作用。如果您有适用于 Ubuntu 18.04.1 LTS 的 apache2 配置,请分享。谢谢。

答案1

您需要安装 Apache 自己的 AppArmor 模块,然后更新提供的配置文件。

安装 apache 模块

apt-get 安装 libapache2-mod-apparmor

启用模块

a2enmod apparmor

重新启动 Apache 以获取新模块

systemctl 重新启动 apache2

将新个人资料置于投诉模式

aa-投诉/etc/apparmor.d/usr.sbin.apache2

选择新的 AppArmor 设置

systemctl 重新启动 apache2

生成您的自定义配置文件

日志分析

相关内容