Pas pas gjashtë muajsh zhvillimi lëshimi i projektit , в рамках которого развивается система для изолированного выполнения графических, консольных и серверных приложений. Применение Firejail позволяет минимизировать риск компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Программа написана на языке Си, под лицензией GPLv2 и может работать в любом дистрибутиве Linux с ядром старше 3.0. Готовые пакеты с Firejail в форматах deb (Debian, Ubuntu) и rpm (CentOS, Fedora).
Для изоляции в Firejail пространства имён (namespaces), AppArmor и фильтрация системных вызовов (seccomp-bpf) в Linux. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. При желании Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ.
В отличие от средств контейнерной изоляции firejail предельно в конфигурации и не требует подготовки системного образа — состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. Предоставляются гибкие средства задания правил доступа к файловой системе, можно определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступ к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs.
Для большого числа популярных приложений, в том числе для Firefox, Chromium, VLC и Transmission, подготовлены готовые изоляции системных вызовов. Для получения привилегий, необходимых для настройки изолированного окружения, исполняемый файл firejail устанавливается с флагом SUID root (после инициализации привилегии сбрасываются). Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, «firejail firefox» или «sudo firejail /etc/init.d/nginx start».
Në lëshimin e ri:
- В файл конфигурации /etc/firejail/firejail.config настройка file-copy-limit, позволяющая ограничить размер файлов, которые будут скопированы в память при использовании опций «—private-*» (по умолчанию ограничение выставлено в 500MB).
- В каталог /usr/share/doc/firejail добавлены шаблоны для создания новых профилей ограничения приложений.
- В профилях разрешено использование отладчиков.
- Улучшена фильтрация системных вызовов при помощи механизма seccomp.
- Обеспечено автоопределение флагов компилятора.
- Вызов chroot теперь выполняется не на основе пути, а используя точки монтирования на базе файлового дескриптора.
- Каталог /usr/share помещён в белый список разнообразных профилей.
- В секцию conrib добавлены новые вспомогательные скрипты gdb-firejail.sh и sort.py.
- Усилена защита на стадии выполнения привилегированного кода (SUID).
- Для профилей реализованы новые условные признаки HAS_X11 и HAS_NET для проверки наличия X-сервера и сетевого доступа.
- Добавлены профили для изолированного запуска приложений (общее число профилей доведено до 884):
- i2p,
- tor-browser (AUR),
- Zulip,
- rsync,
- signal-cli,
- tcpdump,
- tshark,
- qgis,
- OpenArena,
- godot,
- klatexformula,
- klatexformula_cmdl,
- links,
- xlinks,
- pandoc,
- teams-for-linux,
- gnome-sound-recorder,
- newsbeuter,
- keepassxc-cli,
- keepassxc-proxy,
- rhythmbox-client,
- jerry,
- zeal,
- mpg123,
- conplay,
- mpg123.bin,
- mpg123-alsa,
- mpg123-id3dump,
- out123,
- mpg123-jack,
- mpg123-nas,
- mpg123-openal,
- mpg123-oss,
- mpg123-portaudio,
- mpg123-pulse,
- mpg123-strip,
- pavucontrol-qt,
- gnome-characters,
- gnome-character-map,
- Whalebird,
- tb-starter-wrapper,
- bzcat,
- kiwix-desktop,
- bzcat,
- zstd,
- pzstd,
- zstdcat,
- zstdgrep,
- zstdless,
- zstdmt,
- unzstd,
- ar,
- gnome-latex,
- pngquant,
- kalgebra,
- kalgebramobile,
- amuled,
- kfind,
- profanity,
- audio-recorder,
- cameramonitor,
- ddgtk,
- drawio,
- unf,
- gmpc,
- electron-mail,
- gist,
- gist-paste.
Burimi: opennet.ru
