Выпуск системы изоляции приложений Firejail 0.9.62
После шести месяцев разработки доступен релиз проекта Firejail 0.9.62, в рамках которого развивается система для изолированного выполнения графических, консольных и серверных приложений. Применение 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, например, «firejail firefox» или «sudo firejail /etc/init.d/nginx start».
В новом выпуске:
- В файл конфигурации /etc/firejail/firejail.config добавлена настройка file-copy-limit, позволяющая ограничить размер файлов, которые будут скопированы в память при использовании опций »--private-*» (по умолчанию ограничение выставлено в 500MB).
- В каталог /usr/share/doc/firejail добавлены шаблоны для создания новых профилей ограничения приложений.
- В профилях разрешено использование отладчиков.
- Улучшена фильтрация системных вызовов при помощи механизма seccomp.
- Обеспечено автоопределение флагов компилятора.
- Вызов chroot теперь выполняется не на основе пути, а используя точки монтирования на базе файлового декскриптора.
- Каталог /usr/share помещён в белый список большого числа профилей.
- В секцию conrib добавлены новые вспомогательные скрипты gdb-firejail.sh и sort.py.
- Для профилей реализованы новые условные признаки HAS_X11 и HAS_NET для проверки наличия X-сервера и сетевого доступа.
- Добавлены профили для изолированного запуска приложений:
- i2p,
- tor-browser (AUR),
- Zulip,
- rsync,
- signal-cli,
- qgis,
- klatexformula,
- klatexformula_cmdl,
- links,
- xlinks,
- pandoc,
- teams-for-linux,
- OpenArena,
- gnome-sound-recorder,
- godot,
- tcpdump,
- tshark,
- newsbeuter,
- keepassxc-cli,
- keepassxc-proxy,
- rhythmbox-client,
- jerry,
- zeal,
- mpg123,
- conplay, m
- pg123.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.
Источник: http://www.opennet.ru/opennews/art.shtml? num=52115
© OpenNet