Представлен (https://l3net.wordpress.com/2016/04/03/firejail-0-9-40-rc1-r.../) выпуск Firejail 0.9.40 (https://firejail.wordpress.com/), системы изолированного выполнения графических, консольных и серверных приложений. Целью Firejail является минимизация риска компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Для изоляции в Firejail
используется (https://firejail.wordpress.com/features-3/) механизм пространств имён (namespaces) и фильтрация системных вызовов (seccomp-bpf) в Linux. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. Программа написана на языке Си, распространяется (https://github.com/netblue30/firejail) под лицензией GPLv2 и может работать в любом дистрибутиве Linux с ядром старше 3.0. Готовый пакет с Firejail можно установить из Debian jessie-backports (https://packages.debian.org/jessie-backports/firejail).В отличие от средств контейнерной изоляции firejail предельно прост (https://firejail.wordpress.com/documentation-2/basic-usage/) в конфигурации и не требует подготовки системного образа - состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. При желании, Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ. Предоставляются гибкие средства задания правил доступа к файловой системе, можно определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступа к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs. Профили (https://firejail.wordpress.com/documentation-2/building-cust.../) изоляции системных вызовов подготовлены для большого числа популярных приложений, в том числе для Firefox, Chromium, VLC и Transmission. Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, "firejail firefox" или "sudo firejail /etc/init.d/nginx start".
Особенности новой версии:
- Поддержка (https://firejail.wordpress.com/documentation-2/x11-guide/) sandbox-окружения X11 со своим X-сервером, в качестве которого могут выступать Xpra (https://xpra.org/) (подобие (https://www.opennet.dev/opennews/art.shtml?num=37695) утилиты screen для X11) и Xephyr (https://www.freedesktop.org/wiki/Software/Xephyr/) (позволяет запустить X-сервер в окне уже запущенного X-сервера), что даёт возможность организовать запуск приложений на системе без монитора с трансляций вывода на внешний хост;
- Возможность передачи файлов между sandbox-окружениями и хост-системой;
- Поддержка изменения конфигурации во время работы и на этапе компиляции. Через файл конфигурации теперь можно определить какие их механизмов изоляции и безопасности ядра будут задействованы в исполняемом файле Firejail (запускается с флагом SUID root);
- Поддержка AppArmor. Профили изоляции на базе AppArmor подготовлены для Firefox, Chromium, Evince, Pidgin и Totem;
- Обеспечена (https://firejail.wordpress.com/documentation-2/grsecurity-notes/) совместимость со сборками ядра Linux, в которых используются патчи Grsecurity (ядро Linux 4.4 c Grsecurity можно найти в Debian testing, unstable и jessie-backports);
- Новая утилита firecfg для автоматизации настройки параметров изолированного запуска приложений (для изолированного запуска приложений создаются символические ссылки в /usr/local/bin);
- Число профилей изоляции приложений доведено (https://github.com/netblue30/firejail/tree/master/etc) до 95. Добавлены новые профили для таких программ, как lxterminal, Epiphany, Vivaldi, qTox, OpenSSH client, OpenBox, dnsmasq, PaleMoon, Icedove, okular, gwenview, Brave.
URL: https://l3net.wordpress.com/2016/04/03/firejail-0-9-40-rc1-r.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=44534