Я использую AppArmor для:
Но я действительно хочу:
Я просто хочу ограничить доступ к сети, не доступ к файлу. (Если Вам любопытно, рассматриваемый процесс является jupyter, который выполняет некоторые ноутбуки, записанные пользователем для соревнования по взламыванию.)
Я пытаюсь отредактировать /etc/apparmor.d/xxxxx
признавать что:
# Last Modified: Mon May 21 23:47:47 2018
#include <tunables/global>
/home/ricardopdmcruz/.local/bin/jupyter {
#include <abstractions/base>
#include <abstractions/python>
/** rwlkmix,
/home/ricardopdmcruz/.local/bin/jupyter r,
/usr/bin/python3.5 ix,
# block ipv4 acces
deny network inet,
# ipv6
deny network inet6,
# raw socket
deny network raw,
}
Но процесс (jupyter) все еще жалуется, что не может читать или записать где-нибудь... Порядок вопросов конфигурационного файла?
Я выяснил, какова проблема была.
Jupyter (даже в режиме оболочки) требует сокетов, и это отключено моими правилами.
Я думаю, что два решения были бы возможны:
Я выбрал решение № 2, потому что я не знал, как достигнуть № 1. Я пытался удалить, "отклоняют сетевые сырые данные" и сохраняют, "отклоняют сеть inet", но это также, казалось, отключило сокеты.