Предположим, что вы устанавливаете «неограниченное» приложение (например, Slack) через Программное обеспечение Ubuntu. Если не будут приняты дополнительные меры, приложение будет иметь доступ ко всему содержимому домашнего каталога.
Есть ли способ «ограничить» такие приложения? Насколько я понял, chroot jail не будет работать . Будет ли AppArmor делать работу? Или Firejail ? Или я должен посмотреть в каком-то другом направлении?
Спасибо.
Р. S. Я использую Ubuntu 19.10, если это имеет значение.
Существует множество вариантов ограничения программного обеспечения в Linux, но это зависит от того, является ли это пакетом deb
или snap
.
Если вы установили пакет Debian для Slack , вы можете использовать firejail
, поскольку он уже имеет профиль по умолчанию для ограничения ( см. профиль ).
firejail
для ограничения пакета Slack deb
: sudo apt-get install firejail firejail-profiles
sudo ln -s /usr/bin/firejail /usr/local/bin/<application>
Замените
именем двоичного файла Slack в / usr / bin
. Вторая строка создает символическую ссылку для программного обеспечения, которое нужно-sanboxed, для запуска под firejail.
Добавьте свое имя пользователя в /etc/firejail/firejail.users
, по одной строке на имя пользователя.
Откройте Slack и проверьте, работает ли конфайнмент, с помощью: firejail --tree
.
Вы можете проверить профиль Slack по умолчанию в вашей системе через: cat /etc/firejail/slack.profile
. Если вам интересно, что делает каждая строка, посмотрите справочную страницу firejail.profile
.
Снапсы разные, и (могут) иметь встроенную систему ограничения , использующую пространства имен ядра, apparmor и seccomp. Однако пакет Slack устанавливается с помощью sudo snap install slack --classic
, а флаг - classic
здесь указывает, что строгого ограничения не будет.В зависимости от установленной вами версии firejail
вы можете получить поддержку snap
с профилем firejail по умолчанию, но примечания к выпуску firejail показывают, что поддержка пакетов snap была упал на 0.9.60.