The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз системы изоляции приложений Firejail 0.9.78

04.01.2026 10:41

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

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

  • В файл конфигурации firejail.config добавлены опции arg-max-count, arg-max-len, env-max-count и env-max-len для изменения лимитов на число и размер опций командной строки и переменных окружения. По умолчанию число аргументов ограничено 128, число переменных окружения 256, а размер каждого аргумента - PATH_MAX из limits.h (в Linux 40196) + 32.
  • Добавлена опция "--xephyr-extra-params" для задания дополнительных опций к Xephyr (используется для создания sandbox-окружений X11 со своим X-сервером, запущенным в окне) в командной строке без изменения firejail.config.
  • Устанавливаемая в sandbox-окружение утилита bwrap (bubblewrap) заменена на прослойку fbwrap, запускающую программы без изоляции для решения проблем с запуском Firefox, Thunderbird, GIMP из-за вызова glycin 2.0.0 из gdk-pixbuf2 с использованием bwrap. Для копирования bwrap вместо прослойки добавлена опция "--allow-bwrap".
  • Обновлены таблицы системных вызовов для seccomp. Добавлены новые системные вызовы, такие как epoll_pwait2 и futex_wait.
  • Удалена сборочная опция "--disable-globalcfg", прекращена поддержка overlayfs ("--overlay") и режима IDS (Intrusion Detection System, "--ids").
  • Добавлены профили изоляции для текстового редактора ne (текстовый редактор), браузера Trivalent и игровых движков OpenRA, quakespasm, gzdoom, lzdoom, uzdoom.
  • Обновлены профили для thunderbird, wine, qutebrowser, firefox, godot, wusc, mullvad-browser, blink, steam, ssh, brave и hashcat.


  1. Главная ссылка к новости (https://github.com/netblue30/f...)
  2. OpenNews: Выпуск Bubblewrap 0.11, прослойки для создания изолированных окружений
  3. OpenNews: Уязвимость в firejail, позволяющая получить root-доступ в системе
  4. OpenNews: Выпуск системы изоляции приложений Firejail 0.9.72
  5. OpenNews: Mozilla начинает внедрение технологии изоляции библиотек RLBox
  6. OpenNews: Опубликован secimport 0.8 для sandbox-изоляции отдельных Python-модулей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64553-firejail
Ключевые слова: firejail, chroot, container
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:55, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Зачем сабж, когда есть флатпак, который решает проблему изоляции более изящно и более гранулярно. Можно даже задать, к каким именно системным/сессионным D-Bus-сервисам приложуха может иметь доступ (флатпак дает фильтрующий прокси). А еще файловая иерархия становится предсказуемее: для удаления вообще всех данных приложения, надо сделать 'rm -rf ~/.var/app/$APP_ID'. И всё. Не надо бегать по темным уголкам хомяка, выискивая как-то следы приложухи по mtime и прочим хреням. Ну и божественный вяленый конечно. Флатпак + вяленый = железобетонная изоляция. Калькулятор не сможет заскриншотить твой экран и отправить скриншот китайцам. Ну и ключевое преимущество: именно разработчик занимается созданием "профилей" для своих приложух, а не какой-то сторонний вася, как в сабже.
     
     
  • 2.9, Аноним (9), 11:52, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Затем что флатпак формируют третьи лица, а тут речь идет про изоляцию приложений из состава дистрибутива. Ничего со стороны в систему не устанавливается.
     
     
  • 3.22, Аноним (22), 14:37, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А во фряхе третьи лица или кто делал такой же jail?

    https://www.opennet.me/opennews/art.shtml?num=64550

     
     
  • 4.53, Аноним (53), 22:57, 04/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.25, penetrator (?), 16:22, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты изолируешь приложения из состава дистрибутива, при этом используешь вторую часть дистрибутива, которой вдруг доверяешь для изоляции первой

    не находишь это странным?

     
     
  • 4.41, Аноним (9), 17:58, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не нахожу. Ибо сырцы приложений предоставлены одними, собраны они другими, а изолированы третьими. В идеале, в реале хотьи нежелательно, но могут эти лица и пересекаться. В случае же флэтпак это однозначно одни и те же лица. Вот это нахожу странным - доверять изоляцию приложений его же автору и сборщику.
     
     
  • 5.46, penetrator (?), 18:17, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не нахожу. Ибо сырцы приложений предоставлены одними, собраны они другими, а изолированы
    > третьими. В идеале, в реале хотьи нежелательно, но могут эти лица
    > и пересекаться. В случае же флэтпак это однозначно одни и те
    > же лица. Вот это нахожу странным - доверять изоляцию приложений его
    > же автору и сборщику.

    что-то тебя понесло,

    ты доверяешь той половине которую не изолируешь, но не доверяешь той половине которую пытаешься изолировать, хотя нет никаких оснований доверять или не доверять той или иной половине разработчкиков

    а если есть недоверие, то как минимум виртуалка

     
  • 2.10, Аноним (10), 11:55, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут скорее аналоги https://github.com/igo95862/bubblejail или https://github.com/CauldronDevelopmentLLC/sandbubble
     
  • 2.15, Аноним (15), 13:04, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разработчик трояна ограничивает доступ своего трояна к системе. Хитро, ничего не скажешь. Троянописатели в восторге от возможностей задать все права доступа.
     
  • 2.16, Аноним (16), 13:44, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    firejail и bubblewrap интегрируются с системным ПО.
    flatpak навязывает свой репозиторий (нельзя перебиндить рут, и даже просто задать другой путь при бинде), который либо сопровождать самому, либо мириться, что софт в Flathub-е собирает кто попало и как попало.
     
     
  • 3.21, Аноним (1), 14:02, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Оба никак не интегрируются с системным ПО Под интегрироваться имеем в виду, ч... большой текст свёрнут, показать
     
     
  • 4.37, Аноним (37), 17:12, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а как положить .desktop-файлы не туда куда надо? )))
    если опасаешься собственной криворукости запуска "иконки",
    то бери терминал и запускай firejail там.

    чтобы не терзаться в сомнениях чем там пакет во флэтхабе,
    собери себе appimage  и запусти в firejail ))

     
  • 2.29, Аноним (29), 16:29, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тогда уже https://github.com/landlock-lsm/island , но надо на C++ переписать.
     
  • 2.36, Аноним (37), 17:06, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сделай appimage и следы в хомяке исчезнут.
    чтоб совсем не сомневаться, запусти систему
    в режиме live ))

    и да, appimage можно запускать в firejail,
    как и самому писать профили

     
     
  • 3.38, Аноним (38), 17:30, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сделай то, сделай сё... Согласись, звучит куда сложнее, чем "нажать кнопку Install -- и получаешь SOTA zero configuration изоляцию с безопасными дефолтами." И да, главной ЦА должны оставаться обычные пользователи, и должен покрываться такой распространенный случай, как "быстренько попробовать приложение, запустить, а затем удалить" -- в firejail вначале придется потратить час на конфигурирование этого дела, а во флатпаке это три клика: Install, Open, Uninstall.
     
     
  • 4.39, Аноним (39), 17:39, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    в безопасности нет решения -
    "нажать кнопку "Чтоб стало ЗАЕ***Ь"

    в большинстве случаев, чтобы тестового поставить пакет,
    достаточно запустить систему в live
    чуть сложнее - откат к предыдущему состоянию

     
     
  • 5.40, Аноним (1), 17:50, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > в безопасности нет решения - "нажать кнопку "Чтоб стало ЗАЕ***Ь"

    Решение есть, просто ты упорно его игнорируешь.

    > достаточно запустить систему в live

    Ребутнуться? Это даже хуже решения с "вводить пароль каждый раз при установке/удалении приложения", потому что установочный скрипт сделает useradd для DAC. (И все равно после этого приложуха сможет скриншотить чужое и иметь доступ к вообще всем пользовательским сервисам.)

     
  • 2.42, Аноним (42), 18:04, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем нужны flatpak, Wayland и профили, когда есть юзеры, разные tty с разными X-серверами и сборка с сорцов?
     
  • 2.51, Аноним (51), 20:34, 04/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.3, localhostadmin (ok), 11:00, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Дежурное напоминание: во всех юниксах можно создавать пользователей и настратвать им привелегии. Пользуйтесь этой информацией как хотите
     
     
  • 2.5, Аноним (5), 11:44, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Линукс не юникс, да и система прав не всесильна, иначе не появились бы bsd jail и аналоги.
     
     
  • 3.54, Аноним (53), 23:12, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Линукс не юникс

    И? В нём нельзя создавать пользователей?

     
  • 2.6, Аноним (6), 11:45, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    дежурное напоминание:
    можно запустить сразу несколько иксов под разными пользователями с настроенными привилегиями под разные задачи и переключаться между ними.
    пользуйтесь этой информацией тоже как хотите.
     
     
  • 3.17, онанист (?), 13:53, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нельзя
    только вейленд
     
     
  • 4.23, Аноним (22), 14:39, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > нельзя

    Кто запретил?

     
  • 2.8, Аноним (1), 11:51, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Давай проверим твою теорию на практике. Итак, есть три пользователя: user, app1 и app2. В этой системе user запускает иксовый сервер, и далее к нему коннектятся app1 и app2. ВНЕЗАПНО app1 может заскриншотить app2. Сработал твой DAC? Нет, не сработал. Нихрена ничего не разграничил.

    Другой пример. Есть два пользователя: user и app1. user создает d-bus-сессию, а app1 к нему коннектится. Внезапно app1 имеет полный доступ ко всем d-bus-сервисам. Сработал твой DAC? Нет, не сработал. Ни в какой файл не напишешь, что "окей, app1 не имеет доступ ни к чему, кроме org.freedesktop.Notifications."

    И вот так примерно со всем: шарить или не шарить network namespace, шарить или не шарить ipc namespace, давать или не давать ptrace и т. д. Никак ты это обычным DAC не разрулишь.

     
     
  • 3.45, penetrator (?), 18:11, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а доступ к буферу обмена есть у всех? )))

    я бы вообще не рассчитывал на изоляцию между приложениями если ты не контролируешь их код, на крайний вариант VM, и то это неидеально

     
     
  • 4.47, Аноним (1), 19:01, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ЧТД: фанатики DAC снова не нашли, чем ответить, и быстренько слились. Тем временем, изоляция на основе контейнеров применяется и для десктопных приложений (флатпак), и для серверных (подман, докер). Пока DAC-фанатик будет рассчесывать часами свой /etc/{passwd,group}, наивно полагая, что файлы -- это единственный шаренный ресурс, namespace-господа просто запустят за секунду podman run и получат дефолт, в котором приложение не видит вообще ничего, кроме uname ядра.
     
     
  • 5.56, мяв (?), 23:43, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а namespace-господа случайно эскалацию привелегий через вулн в изоляторе, или тем более uns не хотят ?
    реальные господа причесывают ~~MAX~~ MAC.
    их, правда, трудно так назвать ..
     
     
  • 6.57, Аноним (1), 04:22, 05/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Покажи мне хотя бы одну подсистему, в которой не было уязвимостей. А так конечно да: сидеть в пещере без компа безопаснее всего. В компах бывают уязвимости -- шок!
     
  • 4.49, Аноним (42), 19:49, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > а доступ к буферу обмена есть у всех? )))

    При запуске разных X на разных tty — нет.

     
  • 3.48, Аноним (42), 19:48, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    1. Кто запретил запускать Иксы в самих юзерах на разных tty?

    2. Как? На каталог /run/user/<id_user> права всегда 0700.

     
  • 3.55, мяв (?), 23:39, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    по-моему, то, что Вы описали на счет шины, делается через полкит.
    там прям четко можно запретить/разрешить и выставить политику по умолчанию
     
  • 2.11, bergentroll (ok), 12:31, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > во всех юниксах можно создавать пользователей и настратвать им привелегии

    Привелегии цисгендерного белого угнетателя? Типа захотел браузер — залогинился от одного юзера, захотел калькулятор — от другого.

     
     
  • 3.43, Аноним (42), 18:06, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, между tty переключился через Ctrl+Alt+FX.
     
  • 2.19, Аноним (16), 13:54, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Пользователи видят процессы друг друга by design.
    Пользователи видят открытые сетевые порты by design. И в большинстве случаев могут подключаться к ним без аутентификации by default.
    Процессы пользователей могут делать друг с другом что угодно (редактировать память процесса, посылать друг другу signal-ы и сообщения по Dbus, и т.п.) by default.
    Процессы, запущенные без PR_SET_NO_NEW_PRIVS, имеют возможности поднять привилегии в системе, пользуясь уязвимостями в ПО или неправильной настройкой системы (например, слабых правил для polkit, sudo, SETUID-утилит).
    И т.д. и т.п.
    Отдельный пользователь - это хорошо. Но совершенно недостаточно.
     
     
  • 3.24, Энтомолог_русолог (ok), 15:15, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Пользователи видят процессы друг друга by design.

    hidepid=1 или hidepid=2
    И ты не видишь чужих процессов

    Дальше разбирать твою галиматью или уже хватит того, что ты начал со вранья?

     
     
  • 4.30, Аноним (1), 16:31, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разбери. Причем во время разбора тебе надо учесть, для кого пилится система: для обычного пользователя, который кликает Install -- и сразу развернулась приложуха с zero configuration изоляцией. Без всяких стремных useradd. Ах да, забыл упомянуть -- поддержка иммутабельного readonly /etc также крайне желательна, так что хрен ты вызовешь useradd.
     
  • 4.31, Аноним (31), 16:40, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И ты не видишь чужих процессов

    ничего, systemctl status мне их покажет

     
  • 3.44, Аноним (42), 18:09, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это понятно А минусы будут Это на безопасность не влияет никак Добавь отдельн... большой текст свёрнут, показать
     

  • 1.4, Аноним (4), 11:20, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похоже на убийцу cagefs от cloudlinux.
     
  • 1.7, Аноним (7), 11:48, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Привилегия — это исключительное право или преимущество, предоставляемое кому-либо в отличие от других. Например, это могут быть дворянские привилегии или особые права, которые отменяются в зависимости от обстоятельств. Привилегии могут использоваться как в разговорной речи, так и в профессиональных сферах.
     
  • 1.12, Аноним (12), 12:46, 04/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –7 +/
     

  • 1.14, Abyss777 (?), 12:58, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть профиль для MAX?
     
     
  • 2.20, Бюро Кратия (?), 14:00, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Безопаснее хранить MAX отдельно от компьютера, в сейфе. А сейф - в отделении МВД, доступ к которому осуществляется строго по паспорту, СНИЛС и НДФЛ, в установленном законом режиме.
     
     
  • 3.33, Аноним (33), 16:47, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Справку от священника забыл.
     
  • 2.35, Аноним (37), 16:55, 04/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    там а самому сделать?
     

  • 1.27, Аноним (29), 16:26, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С landlock воз и ныне там: правила landlockа сами по себе, а не выводятся из правил firejail.
     
  • 1.34, Аноним (37), 16:54, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    какой glibc конечно не надо писать..
    как всегда
     
  • 1.50, Аноним (50), 20:31, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >профили изоляции для игровых движков

    Объясните мне, зачем изолировать какой-то конкретный игровой движок? Нет унивесрального решения для изоляции, которое бы подходило для любого? Да и вообще зачем их изолировать? Просто спрашиваю, т.к. не особо разбираюсь в этом (да, я понимаю, что важно иметь возможность изолировать приложение от сети и прочего в целом). Спасибо заранее.

     
  • 1.52, BrainFucker (ok), 21:47, 04/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А какие преимущества над bwrap и прочих аналогов?

    > firejail предельно прост в конфигурации

    И по ссылке куча какого-то текста с множеством нюансов и предупреждений о потенциальных проблемах.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру