Я решил попробовать AppArmor, и хотя он отлично работает при ограничении доступа к файлам, обработке сигналов и т. Д., Он полностью игнорирует любые сетевые правила. Ни на что не жалуется, но и доступ к сети не ограничивает.
Согласно Arch forum , сетевые правила раньше работали в старых ядрах, но позже по какой-то причине они были отключены. Они предлагают скомпилировать ядро с некоторыми исправлениями, чтобы снова включить функциональность.
Не могли бы вы дать мне больше информации о причинах отключения сетевых правил AppArmor? А поскольку компиляция собственного ядра всегда доставляет некоторое неудобство (хотя и не невозможно, особенно на NixOS), есть ли какие-либо планы по его повторному включению? Если я подожду пару месяцев, есть ли шанс, что правила будут поддерживаться стандартным исходным ядром? Спасибо!
Вот как я это понимаю: поскольку apparmor следует подходу белого списка, новые функции посредничества, добавленные в модуль ядра, означают, что блокируется больше вещей. Так что это может привести к неожиданным проблемам при обновлении ядра. Таким образом, Apparmor игнорирует все правила, введенные после ядра версии 4.17, если в файле политики не указана более новая версия.
В Arch Linux у вас должен быть apparmor 3, поэтому с таким файлом политики:
abi <abi/3.0>,
policy /some/binary {
}
Задача не должна иметь доступа к сети. Подробнее здесь
На сегодняшний день документация содержит части для невыпущенных функций. Поэтому некоторые сетевые политики работают (обычно простые, такие как «разрешить все TCP»), а некоторые нет.