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

Опубликован релиз проекта Firejail 0.9.72, развивающего систему для изолированного выполнения графических, консольных и серверных приложений, позволяющую минимизировать риск компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Программа написана на языке Си, распространяется под лицензией 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».

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

  • Добавлен seccomp-фильтр системных вызовов, блокирующий создания пространств имён (для включения добавлена опция «—restrict-namespaces»). Обновлены таблицы системных вызовов и группы seccomp.
  • Улучшен режим force-nonewprivs (NO_NEW_PRIVS), запрещающий получение дополнительных привилегий в новых процессах.
  • Добавлена возможность использования собственных профилей AppArmor (для подключения предложена опция «—apparmor»).
  • В системе отслеживания сетевого трафика nettrace, которая отображает сведения об IP и интенсивности трафика с каждого адреса, реализована поддержка ICMP и предложены опции «—dnstrace», «—icmptrace» и «—snitrace».
  • Удалены команды —cgroup и —shell (по умолчанию применяется —shell=none). По умолчанию прекращена сборка firetunnel. Отключены настройки chroot, private-lib и tracelog в /etc/firejail/firejail.config. Прекращена поддержка grsecurity.

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

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