Как заблокировать Интернет для приложения с помощью пользовательского профиля apparmor?
Я пытаюсь заблокировать доступ к Интернету для приложения, потому что оно всегда запрашивает покупку или обновление, даже если оно бесплатное. Я создал профиль apparmor для этого приложения и ввел его в действие, но после применения приложение не запускается.
Это профиль в /etc/apparmor.d/opt.sublime_text.sublime_text
:
/opt/sublime_text/sublime_text {
deny network inet,
deny network inet6,
deny network raw, #include <abstractions/base>
/opt/sublime_text/sublime_text mr,
/opt/sublime-text/ rw,
/home/shady/.config/sublime-text-3/ rw,
}
Я включил каталоги, которые могут понадобиться этому приложению. Что я делаю неправильно?
1 ответ
Вам нужно гораздо больше, чтобы запустить этот тип приложения. Когда в вашем профиле чего-то не хватает, он не имеет к нему доступа. Sublimetext
должен иметь доступ к таким вещам, как:
- X сервер
- системные шрифты
- Xauthority file
- dconf
- бойкий
- так далее...
Лучший и самый простой способ создать свой профиль - это установить apparmor-utils
sudo apt-get install apparmor-utils
затем создайте свой профиль, используя инструмент создания профиля:
sudo aa-genprof /opt/sublime_text/sublime_text
В данный момент он создает сублиметекстовый профиль в /etc/apparmor.d/
и слушает действия программы. Этот профиль находится в complain
режим и ведение журнала в /var/log/syslog
, Теперь вам нужно запустить сублиметекст и выполнить некоторые действия, такие как открытие и сохранение файлов и т. Д. Все эти действия будут сохранены в файле журнала, который используется aa-genprof
для создания правил. Когда вы закончите с действиями, нажмите s
ключ и ответьте на вопросы о доступе или отказ в ваших ресурсах. Когда закончите использовать f
ключ для сохранения вашего недавно созданного профиля и превращения его в enforce
Режим.
Однако это довольно легко, этот инструмент не работает идеально. Это не будет включать в себя все, и вы должны добавить что-то вручную, например, доступ к X
В /etc/apparmor.d/opt.sublime_text.sublime_text
:
include <abstractions/X>
Если были внесены какие-либо изменения, вам необходимо перезагрузить конфигурационный файл:
sudo apparmor_parser r /etc/apparmor.d/opt.sublime_text.sublime_text