Изменение строки журнала AppArmor для правила

306
flungo

Я ищу способ легко перевернуть одну строку из /var/log/syslogзаявленных AppArmor для профиля в режиме жалобы. Я видел, что при использовании 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, bind "

[88529.104010] аудит: тип = 1400 аудит (1414408592.500: 5299): apparmor = операция «РАЗРЕШЕНО» = «монтировать» информация = «сбой при сопоставлении типов» ошибка = -13 профиль = "docker-das" имя = "/ var / lib / docker / btrfs / "pid = 9289 comm =" docker "flags =" rw, private "

Я попытался добавить следующую строку (и несколько вариантов во время игры) в свой docker-dasпрофиль, но безрезультатно:

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

Единственная причина, я могу видеть, что это не будет работать, что commравно dockerв противоположность mount(что это при использовании родной команды монтирования).

К сожалению, я не могу aa-genprofоказать какую-либо помощь (я полагаю, что профиль имеет нестандартное имя), а документация AppArmor (хотя и полезная теперь, когда я нашел нужную страницу в их вики) является беспорядком.

Если есть простой способ создания требуемой строки, то это было бы очень полезно, иначе кто-нибудь может увидеть, что не так с правилом, или выяснить, какое правило мне нужно, чтобы разрешить монтирование, показанное в журналах. То, что я хотел бы, чтобы иметь самое сильное соответствие для строки журнала, чтобы затем я мог решить, какие части не нужны.

3

1 ответ на вопрос

0
flungo

Хотя это и не полное решение (оно не решает возможность создания правила сопоставления из любой строки журнала), следующее решение является лучшим решением, которое я мог бы предложить для конкретной проблемы, и должно быть достаточно безопасным:

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

Но все равно было бы неплохо иметь возможность получить максимально возможное совпадение для записи в журнале, чтобы я мог затем использовать ее или сделать ее более слабой (если я хочу).

Похожие вопросы