Утилита Firejail предоставляет средства для снижения риска компрометации системы при запуске не заслуживающих доверия приложений.
Firejail запускает приложения в режиме sandbox-изоляции, формируемом при помощи механизма пространств имён (namespaces) и фильтрации системных вызовов (seccomp-bpf) в Linux. Утилита оформлена в виде исполняемого SUID-файла, который может использоваться в качестве прослойки для запуска различных консольных, серверных и графических приложений.
Профили изоляции системных вызовов подготовлены для большого числа популярных приложений, в том числе для Firefox, Chromium, VLC и Transmissionetc. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. Программа написана на языке Си и может работать в любом дистрибутиве Linux с ядром старше 3.0. Исходные тексты открыты под лицензией GPL v2.
В отличие от средств контейнерной изоляции firejail предельно проста в конфигурации и не требует подготовки системного образа - состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. При желании, Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ. Предоставляются гибкие средства задания правил доступа к файловой системе, можно определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступа к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs.
Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, "firejail firefox" или "sudo firejail /etc/init.d/nginx start". Отдельно развивает графический интерфейс Firetools, написанный с использованием библиотеки Qt, предоставляющий инструменты для редактирования профилей изоляции, отображающий статистику и интегрируемый в системный лоток.
Сайт разработчика:
Что почитать?
Разместил: