将 AppArmor 日志行反转为规则

将 AppArmor 日志行反转为规则

/var/log/syslog我正在寻找一种方法来轻松地反转AppArmor 针对投诉模式中的配置文件报告的一行。我已经看到,使用aa-genprof它,它使用报告给系统日志的内容来帮助生成规则。在大多数情况下,我能够手写规则以允许所需的内容,但现在我只能使用系统日志中的这两行:

[88529.103991] 审核:类型 = 1400 审核(1414408592.500:5298):apparmor =“ALLOWED”操作 =“mount”信息 =“类型匹配失败”错误 = -13 配置文件 =“docker-das”名称 =“/var/lib/docker/btrfs/”pid = 9289 comm =“docker”srcname =“/var/lib/docker/btrfs/”标志 =“rw,bind”

[88529.104010] 审核:类型 = 1400 审核(1414408592.500:5299):apparmor =“ALLOWED”操作 =“mount”信息 =“类型匹配失败”错误 = -13 配置文件 =“docker-das”名称 =“/var/lib/docker/btrfs/”pid = 9289 comm =“docker”标志 =“rw,private”

我曾尝试将以下行(以及摆弄时的几种变体)添加到我的docker-das个人资料中,但无济于事:

mount fstype=btrfs -> /var/lib/docker/btrfs/

我认为这不起作用的唯一原因是comm等于docker而不是mount(使用本机安装命令时就是如此)。

不幸的是,我似乎无法aa-genprof提供任何帮助(我相信是因为配置文件有一个非标准名称)并且 AppArmor 文档(虽然现在很有帮助,但我在他们的 wiki 中找到了正确的页面)很混乱。

如果有一种简单的方法可以生成所需的行,那么这将是很棒的知识,否则,有人能看出规则有什么问题吗,或者找出我需要什么规则来允许日志中显示的挂载。我想要的是日志行的最强匹配,这样我就可以决定哪些部分是不必要的。

答案1

虽然不是一个完整的解决方案(它不能解决从任何日志行生成匹配规则的问题)但以下是我能针对特定问题想到的最佳解决方案,并且应该足够安全:

deny mount /dev/**,
mount -> /var/lib/docker/btrfs/

但如果能够获得日志条目的最强匹配,以便我可以使用它,或者使它变弱(如果我愿意的话),那还是很好的。

相关内容