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. Сильно не пинайте, правда хочу разобраться.

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

Ты знаешь, что root имеет неограниченные права? Или тебе нужно намекнуть?

anonymous
()

По идее твой интерактивный сеанс (баш или что там) бежит unconfined.

правда хочу разобраться

Доки читай, а не копипасти туториалы.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

В дебиане было что-то вроде

#include <tunables/global>

profile etc.somefile {
  file,
  
  # Allow reading the file for everyone
  /etc/somefile r,
  !/etc/somefile w
}
bdrbt
()
Ответ на: комментарий от anonymous

В аппармор и селинухе запреты работают на уровне сисколов.

bdrbt
()

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

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

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

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

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

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

neumond
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.