我正在尋找一種方法來輕鬆反轉 AppArmor 報告的單行,/var/log/syslog
以獲取投訴模式下的配置檔案。我已經看到aa-genprof
它使用報告給系統日誌的內容來幫助產生規則。在大多數情況下,我已經能夠手動編寫規則來允許需要的內容,但現在我只能堅持系統日誌中的這兩行:
[88529.103991]審核:類型= 1400審核(1414408592.500:5298):apparmor =「允許」操作=「安裝」資訊=「類型比對失敗」錯誤= -13設定檔=“docker-das”名稱=“/ var / lib” /docker/btrfs/" pid=9289 comm="docker" srcname="/var/lib/docker/btrfs/" flags="rw,綁定"
[88529.104010]審核:類型= 1400審核(1414408592.500:5299):apparmor =「允許」操作=「安裝」資訊=「類型比對失敗」錯誤= -13設定檔=“docker-das”名稱=“/ var / lib” /docker/btrfs/" pid=9289 comm="docker" flags="rw,私有"
我嘗試將以下行(以及擺弄時的幾個變體)添加到我的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/
但如果能夠為日誌條目獲得最強的可能匹配,以便我可以使用它,或者使其更弱(如果我願意),那就太好了。