Випуск системи ізоляції програм 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, що виконується, встановлюється з прапором SUID root (після ініціалізації привілею скидаються). Для виконання програми в режимі ізоляції достатньо вказати ім'я програми як аргумент утиліти 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.
  • Посилено захист на стадії виконання привілейованого коду (SUID).
  • Для профілів реалізовано нові умовні ознаки HAS_X11 та HAS_NET для перевірки наявності X-сервера та мережного доступу.
  • Додано профілі для ізольованого запуску додатків (загальна кількість профілів доведена до 884):
    • i2p,
    • tor-browser (AUR),
    • Zulip,
    • rsync,
    • signal-cli,
    • tcpdump,
    • tshark,
    • qgis,
    • OpenArena,
    • godot,
    • klatexformula,
    • klatexformula_cmdl,
    • посилання,
    • xlinks,
    • pandoc,
    • teams-for-linux,
    • gnome-sound-recorder,
    • newsbeuter,
    • keepassxc-cli,
    • keepassxc-proxy,
    • rhythmbox-client,
    • Джері
    • 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,
    • ар,
    • gnome-latex,
    • pngquant,
    • kalgebra,
    • kalgebramobile,
    • amuled,
    • kfind,
    • ненормативна лексика,
    • audio-recorder,
    • cameramonitor,
    • ddgtk,
    • drawio,
    • unf,
    • gmpc,
    • electron-mail,
    • gist,
    • gist-paste.

Джерело: opennet.ru

Додати коментар або відгук