AppArmor, потому что его делает SUSE, не запятнавшая свою репутацию. В отличие от Red Hat, в котором работает Поттеринг, и который совершает систематические диверсии
Не соглашусь. Когда компания Novell ещё существовала, она вливала в сообщество GPL-ный код в больших количествах - точно так же, как Red Hat. В наши дни, Novell уже не существует, а Red Hat активно сотрудничает с Microsoft, а также совершает систематические диверсии по отношению к GNU/Linux!
>> толкает ложные обвинения в сторону корпорации, принципиально предпочитающей GPL и стоящей за современным линуксом
В Арче для AppArmor требуется три вещи:
1. AppArmor должен быть добавлен для сборки в конфиге ядра;
2. AppArmor должен быть включен и выбран как основной security-модуль (через конфиг ядра или apparmor=1 security=apparmor в cmdline);
3. Должна быть запущена служба AppArmor (apparmor.service).
Если не планируется ubuntu/suse или патчить ядро с гита убунты + dbus собирать под apparmor (в апстриме dbus все уже есть), нужен ли вам apparmor, у которого не будет network/signal/ptrace/dbus/unix/mount функционала? С ядром из апстрима будет «покрыта» только файловая система и capabilities.
То, что поддерживается (или лучше поддерживается, или официально поддерживается) твоим дистрибутивом (из коробки, или с меньшими телодвижениями).
Впрочем, я предпочитаю firejail, он более юзерфрендли (в хорошем смысле, а не как у убунты или мс).
Из двух предложенных я бы предпочёл AppArmor. Но это скорее дело вкуса, тут единого ответа быть не может. Хоть оба (точнее все три) и используют несколько разные механизмы, задача примерно одна. Для меня её удобнее решает firejail.
С SELinux у него будет вообще ничего, если не планируется RHEL/Fedora/клоны. А если дистрибутив одинаково хорошо не поддерживает ничего, то проще всего может оказаться сборка AKARI.
Моё личное предпочтение - SElinux. Политики сего чуда осуществляют контроль на уровне системных вызовов ядра, благодаря чему имеется возможность контролировать чуть ли не любой чих в системе - разграничивать доступ к определённым каталогам, типам файлов (зачем текстовому редактору иметь доступ к картинкам?), так же, чем меня радует сие чудо - явным указанием, на каких портах может работать, к примеру, прокси-сервер.
Благодаря модульной структуре, политики SElinux (написанные с умом) легко допиливаются (setsebool), используя логические модификаторы, а так же, чтобы добавить какое-то исключение к политике, можно скомпилировать модуль, вписав в сорцовый файл строчку, которую посоветует setroubleshooter.
Можно как угодно расширять роли и домены для субъектов, править пользователей, им выдавать какие-либо доступы к чему либо, либо выдавать права политиками к какому-то конкретному приложению на что-то (допилив новый контекст): расширение системы ограничено лишь фантазиями.
Искаропки работает в rhel (of corse!), fedora, debian 7 (можно из репозитория доставить MLS или RBAC на выбор), есть поддержка в debian 8 (собранных политик в репозитории под него нет, придётся ручками). Была вроде даже поддержка арча, одноимённая статья на вики. Вроде в убунте поддержка даже есть.
AppArmor? С ним даже не знаком. Не тот уровень, мне кажется, слабоват он.
Вообще, это сильно разные вещи - apparmor - path-based MAC, selinux - label-based. Первый позволяет ограничивать приложения выборочно, второй - требует сначала адаптации ВСЕЙ системы под него, и только затем позволяет нарезать какие-то там правила для конкретных приложений. Неудобно, избыточно, а большей частью и нахер не нужно.