Выпуск системы изоляции приложений Firejail 0.9.60

Увидел свет релиз проекта Firejail 0.9.60, в рамках которого развивается система для изолированного выполнения графических, консольных и серверных приложений. Применение 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».

В новом выпуске:

  • Устранена уязвимость, позволяющая вредоносному процессу обойти механизм ограничения системных вызовов. Суть уязвимость в том, что фильтры Seccomp копируются в каталог /run/firejail/mnt, доступный на запись внутри изолированного окружения. Запускаемые в режиме изоляции вредоносные процессы могут изменить эти файлы, что приведёт к тому, что новые процессы, запущенные в этом же окружении, будут выполнены без применения фильтра системных вызовов;
  • В фильтре memory-deny-write-execute обеспечена блокировка вызова «memfd_create»;
  • Добавлена новая опция «private-cwd» для изменения рабочего каталога для jail;
  • Добавлена опция «—nodbus» для блокировки сокетов D-Bus;
  • Возвращена поддержка CentOS 6;
  • Прекращена поддержка пакетов в форматах flatpak и snap.
    Указано, что для данных пакетов следует использовать их собственный инструментарий;

  • Добавлены новые профили для изоляции 87 дополнительных программ, в числе которых mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp и cantata.

Источник: opennet.ru

Добавить комментарий