Как заблокировать Интернет для приложения с помощью пользовательского профиля 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,
}

Я включил каталоги, которые могут понадобиться этому приложению. Что я делаю не так?

2
задан 14 April 2016 в 14:05

1 ответ

Вы должны намного больше запустить этот тип приложения. Когда существует что-то отсутствующее в Вашем профиле, он не имеет никакого доступа к нему. Sublimetext должен иметь доступ к вещам как:

  • X-сервер
  • системные шрифты
  • Файл Xauthority
  • dconf
  • бойкий
  • и т.д...

Лучший и самый легкий способ создать Ваш собственный профиль состоит в том, чтобы установить apparmor-utils

sudo apt-get install apparmor-utils

затем создайте свое использование профиля, генерируют инструмент профиля:

sudo aa-genprof /opt/sublime_text/sublime_text  

В этот момент это создает профиль sublimetext в /etc/apparmor.d/ и прислушивается к действиям программы. Этот профиль находится в complain режим и это регистрируются к /var/log/syslog. Теперь необходимо запустить sublimetext и сделать некоторые действия как открытие и сохранить файлы и т.д. весь этот acions будет сохранен в файле журнала, который используется 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      
2
ответ дан 15 April 2016 в 00:05
  • 1
    На Ubuntu 14.04, дело обстоит не так. venv не доступно по умолчанию. – Kirk 19 February 2019 в 14:13

Другие вопросы по тегам:

Похожие вопросы: