LINUX.ORG.RU

Дилетантские вопросы по AppArmor

 , ,


0

1

Задумал я тут осилить мандатные ограничения, так уже вышло, что в моей Suse предустановлен AppArmor, ну значит с ним и ковыряюсь.

Начал с простенького, решил закрыть всем, в том числе и root возможность модифицировать файл /etc/Yubico/config с отпечатками для u2f. Читать, значит, его можно всем, напилил такое правило:

# Запретить всем процессам доступ на запись к файлу /etc/Yubico/config
abi <abi/3.0>,
include <tunables/global>

profile deny-etc-yubico-config flags=(attach_disconnected) {
  include <abstractions/base>

  # Запретить запись в файл
  deny /etc/Yubico/config w,
}

Скомпилировал:

sudo apparmor_parser -r /etc/apparmor.d/deny_etc_yubico_config

Применил:

sudo aa-enforce /etc/apparmor.d/deny_etc_yubico_config

И вот ведь, не работает… И что я сделал не так?

Ну хорошо, а дальше что? как сделать так, чтобы это правило не мог отключить даже root, а я мог?

Как вообще это работает?

PS. Сильно не пинайте, правда хочу разобраться.

AppArmor привязан к конкретным процессам, можно конкретной программе разрешить конкретные файлы. Просто так, неясно какой программе, запретить доступ нельзя, для этого лучше отдельного пользователя заводить и/или шифровать. В конце концов, как ты будешь потом этот файл читать, если даже для рута он запрещён?

neumond
()
Ответ на: комментарий от unclestephen

ммм, так оно еще и от дистра к дистру различается?

Хз, просто в дебиане обычно всё такое «мохнатое», «нафталиновое». Кстати там для полного запрета на модификацию ещё несколько операций надо блочить, навскидку точный синтаксис не вспомню, но что-то связанное с хардлинками и маппингом файла в память, это чтобы так наглухо запретить изменять.

bdrbt
()
Ответ на: комментарий от unclestephen

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

neumond
()