пожарная тюрьма фреймворк, который разрабатывает систему изолированного выполнения графических приложений., консоль и сервер. Использование Firejail сводит к минимуму риск компрометации системы main при запуске ненадежных или потенциально уязвимых программ. Программа написана на C, распространяется под лицензией GPLv2 и может работать с любым дистрибутивом Linux.
пожарная тюрьма использует пространства имен, AppArmor и фильтрацию системных вызовов (seccomp-bpf) в Linux для изоляции. После запуска программа и все ее дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования.
Зависимые приложения можно объединить в общую песочницу. При желании Firejail также можно использовать для запуска контейнеров Docker, LXC и OpenVZ.
О Firejail
В отличие от инструментов для изоляции контейнеров, Firejail чрезвычайно прост в настройке и не требует подготовки образа системы: состав контейнера формируется на основе содержимого текущей файловой системы и удаляется после завершения работы приложения.
Se предоставляют гибкие инструменты для настройки правил доступа к файловой системе, вы можете определить, каким файлам и каталогам отказано или отказано в доступе, подключить временные файловые системы (tmpfs) для данных, ограничить доступ только для чтения к файлам или каталогам, объединить каталоги с помощью bind-mount и overlayfs.
Профили изоляции системных вызовов были подготовлены для большого количества популярных приложений, включая Firefox, Chromium, VLC и других.
Чтобы получить необходимые привилегии для настройки песочницы, исполняемый файл firejail устанавливается с корневым флагом SUID (после инициализации права сбрасываются).
Что нового в Firejail 0.9.62?
В этой новой версии подчеркивается, что поставляется с дополнительными профилями, добавленными для запуска приложения изолированные, при этом общее количество профилей достигает 884.
Помимо этого В конфигурационный файл /etc/firejail/firejail.config добавлен параметр ограничения копирования файлов, Это позволяет ограничить размер файлов, которые будут скопированы в память, с помощью параметров «–private- *» (по умолчанию ограничение установлено на 500 МБ).
Вызов chroot теперь выполняется не на основе пути, а вместо этого использует точки монтирования на основе дескриптора файла.
Из других изменений:
- В профилях разрешены отладчики.
- Улучшена фильтрация системных вызовов с помощью механизма seccomp.
- Предусмотрено автоматическое определение флагов компилятора.
- Каталог / usr / share внесен в белый список для различных профилей.
- В раздел conrib добавлены новые вспомогательные скрипты gdb-firejail.sh и sort.py.
- Усиленная защита на этапе выполнения привилегированного кода (SUID).
- Для профилей реализованы новые условные знаки HAS_X11 и HAS_NET для проверки наличия X-сервера и доступа к сети.
Как установить Firejail в Linux?
Для тех, кто заинтересован в возможности установить Firejail на свой дистрибутив Linux, они могут сделать это, следуя инструкциям которые мы делимся ниже.
На Debian, Ubuntu и производных установка довольно проста, так как они могут установить Firejail из репозиториев его распространения или они могут скачать подготовленные пакеты deb от источник
В случае выбора установки из репозиториев просто откройте терминал и выполните следующую команду:
sudo apt-get install firejail
Или, если они решили загрузить пакеты deb, они могут установить их с помощью предпочитаемого диспетчера пакетов или из терминала с помощью команды:
sudo dpkg -i firejail_0.9.62_1*.deb
А в случае с Arch Linux и производными отсюда просто запустите:
sudo pacman -S firejail
В случае Fedora, RHEL, CentOS, OpenSUSE или любой другой дистрибутив с поддержкой пакетов rpm может получить пакеты из по следующей ссылке.
И установка выполняется с помощью:
sudo rpm -i firejail-0.9.62-1.x86_64.rpm
конфигурация
После завершения установки нам нужно будет настроить песочницу, а также включить AppArmor.
С терминала мы собираемся набрать:
sudo firecfg sudo apparmor_parser -r /etc/apparmor.d/firejail-default
Чтобы узнать о его использовании и интеграции, вы можете обратиться к его руководству По следующей ссылке.