Firejail
Это отличный инструмент для пользователей, которые хотят защитить свою систему.
Иногда Вы можете захотеть использовать приложения, которые не были хорошо протестированы в разных средах, но вы должны их использовать. В таких случаях нормально беспокоиться о безопасности вашей системы. Одна вещь, которую можно сделать в Linux - это использовать приложения в песочнице .
"Песочница" - это возможность запуска приложения в ограниченной среде. Таким образом, приложению предоставляется ограниченное количество ресурсов, необходимых для запуска. Благодаря приложению под названием Firejail, Вы можете безопасно запускать ненадежные приложения в Linux.
Firejail - это приложение SUID (расшифровывается как Set Owner User ID), которое уменьшает риск всех нарушений функций безопасности, оно ограничивает рабочую среду потенциально ненадежных программ, использующих имена Linux, а также seccomp-bpf .
Это делает процесс и всех его потомков иметь свое собственное секретное представление глобально общих ресурсов ядра, наподобии сетевого стека и таблиц процессов, а также таблиц монтирования.
Некоторые из функций, которые использует Firejail :
- Пространства имен Linux
- Контейнер файловой системы
- Фильтры безопасности
- Сетевая поддержка
- Распределение ресурсов
Как установить Firejail в Linux
Установка может быть завершена путем загрузки последней версии пакета со страницы проекта github при помощи git команды
$ git clone https://github.com/netblue30/firejail.git
$ cd firejail
$ ./configure && make && sudo make install-strip
Если в вашей системе не установлен git , то установите его таким вот образом:
[На системы Debian/Ubuntu]
$ sudo apt install git
[На CentOS/RHEL]
# yum install git
[На Fedora 22 и выше]
# dnf install git
Альтернативный способ установки firejail - загрузить пакет, связанный с вашим дистрибутивом Linux, и установить его с помощью менеджера пакетов. Файлы можно скачать со страницы SourceForge проекта https://sourceforge.net/projects/firejail/files/firejail/ . Как только вы загрузите файл, то произведите установку:
[Для Debian/Ubuntu]
$ sudo dpkg -i firejail_X.Y_1_amd64.deb
[На CentOS/RHEL/Fedora]
$ sudo rpm -i firejail_X.Y-Z.x86_64.rpm
Как запускать приложения с Firejail в Linux
Теперь вы готовы запускать свои приложения с firejail. Это достигается путем запуска терминала и добавления firejail перед командой, которую вы хотите запустить.
Вот пример:
$ firejail firefox #start Firefox web browser
$ firejail vlc # start VLC player
Вот пример запуска торрента
Создать профиль безопасности
Firejail включает в себя множество профилей безопасности для различных приложений, и они хранятся в:
/etc/firejail
Если вы собрали проект из исходного кода, то найдите профили в:
# path-to-firejail/etc/
Если вы использовали пакет rpm / deb, вы можете найти профили безопасности в:
/etc/firejail/
Пользователи должны размещать свои профили в следующем каталоге:
~/.config/firejail
Если вы хотите расширить существующий профиль безопасности, вы можете использовать include с путем к профилю и впоследствии добавить свои строки. Это должно примерно выглядеть таким образом:
$ cat ~/.config/firejail/vlc.profile
include /etc/firejail/vlc.profile
net none
Если вы хотите ограничить доступ приложения к определенному каталогу, вы можете использовать правило черного списка, чтобы добиться именно этого. Например, вы можете добавить следующее в свой профиль безопасности:
blacklist ${HOME}/Documents
Еще один способ добиться того же результата - фактически описать полный путь к папке для ее последующего ограничения:
blacklist /home/user/Documents
Существует множество различных способов настройки профилей безопасности, таких как запрет доступа, разрешение доступа только для чтения и прочее.