AppArmor ログ行をルールに反転する

AppArmor ログ行をルールに反転する

私は、苦情モードのプロファイルについて、AppArmor によって報告された 1 行を簡単に反転する方法を探しています/var/log/syslog。これを使用すると、syslog に報告されたものを使用してルールを生成するのに役立つことがわかりましたaa-genprof。ほとんどの場合、必要なものを許可するルールを手動で記述できましたが、現在は syslog の次の 2 行で行き詰まっています。

[88529.103991] 監査: type=1400 監査(1414408592.500:5298): apparmor="ALLOWED" operation="mount" info="failed type match" error=-13 profile="docker-das" name="/var/lib/docker/btrfs/" pid=9289 comm="docker" srcname="/var/lib/docker/btrfs/" flags="rw, bind"

[88529.104010] 監査: type=1400 監査(1414408592.500:5299): apparmor="ALLOWED" operation="mount" info="failed type match" error=-13 profile="docker-das" name="/var/lib/docker/btrfs/" pid=9289 comm="docker" flags="rw, private"

私は自分のプロフィールに次の行(および試行錯誤しながらいくつかのバリエーション)を追加しようとしましたdocker-dasが、効果はありませんでした。

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

これが機能しない唯一の理由は、 がと等しいのに対し、 がcommと等しいことです(ネイティブのマウント コマンドを使用する場合は と等しくなります)。dockermount

残念ながら、私は何の役にも立てそうにありませんaa-genprof(プロファイルの名前が標準ではないためだと思います)。また、AppArmor のドキュメント (Wiki で適切なページを見つけたので今は役立っていますが) も混乱しています。

必要な行を簡単に生成する方法があれば、それは非常に役立つ知識です。そうでなければ、ルールのどこが間違っているのか、またはログに表示されるマウントを許可するために必要なルールを理解できる人はいますか。私が望んでいるのは、ログ行に最も一致するものを用意して、どの部分が不要かを判断できるようにすることです。

答え1

完全な解決策ではありませんが (任意のログ行から一致するルールを生成できるという問題は解決しません)、次の解決策は、特定の問題に対して私が思いついた最善の解決策であり、十分に安全であるはずです。

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

しかし、ログ エントリに可能な限り一致するものを取得して、それを使用したり、必要に応じて弱くしたりできれば便利です。

関連情報