Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

Выпуск Bubblewrap 0.12, прослойки для создания изолированных окружений

27.08.2026 11:55 (MSK)

Опубликована новая версия инструментария для организации работы изолированных окружений Bubblewrap 0.12, используемого для ограничения отдельных приложений непривилегированных пользователей. На практике Bubblewrap применяется проектом Flatpak в качестве прослойки для изоляции запускаемых из пакетов приложений. Для изоляции используются традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1+.

Изоляция на уровне файловой системы производится через создание по умолчанию нового пространства имён точек монтирования (mount namespace), в котором при помощи tmpfs создаётся пустой корневой раздел. В данный раздел при необходимости прикрепляются разделы внешней ФС в режиме "mount --bind" (например, при запуске c опцией "bwrap --ro-bind /usr /usr" раздел /usr пробрасывается из основной системы в режиме только для чтения). Сетевые возможности ограничиваются доступом к loopback-интерфейсу с изоляцией сетевого стека через флаги CLONE_NEWNET и CLONE_NEWUTS.

Для исключения всех лишних идентификаторов пользователей и процессов из создаваемого изолированного окружения могут использоваться режимы CLONE_NEWUSER (user namespace) и CLONE_NEWPID (PID namespace), а для запрета получения новых привилегий применяется режим PR_SET_NO_NEW_PRIVS. Для получения необходимых привилегий используется "user namespace".

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

  • Лицензия на код изменена с LGPL 2.0+ на LGPL 2.1+.
  • Прекращена поддержка сборки в форме исполняемого файла, получающего дополнительные привилегии при помощи флага suid root. Наличие в системе поддержки "user namespace" теперь обязательно. В качестве причины называется трудоёмкость сопровождения варианта с флагом suid на фоне повсеместной поддержки "user namespace" в дистрибутивах.
  • Добавлена опция "--not-a-security-boundary", при выставлении которой некоторые сбои при настройке изолированного sandbox-окружения, такие как перемонтирование подраздела, не приводят к аварийному завершению.
  • Добавлена сборочная опция "assume_kernel", отключающая обеспечение обратной совместимости с ядрами Linux, более старыми, чем указанная версия. Например, указание версий 5.6.0+ приведёт к исключению альтернативной реализации функциональности "openat2(RESOLVE_IN_ROOT)".


  1. Главная ссылка к новости (https://github.com/containers/...)
  2. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.18.0
  3. OpenNews: Релиз системы изоляции приложений Firejail 0.9.78
  4. OpenNews: Выпуск Bubblewrap 0.11, прослойки для создания изолированных окружений
  5. OpenNews: Проект Linux Containers представил атомарно обновляемый дистрибутив IncusOS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66151-bubblewrap
Ключевые слова: bubblewrap, container
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:03, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как оно в сравнении с syd? Там всё-таки раст.
     
     
  • 2.2, Аноним (2), 12:06, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Работает, в отличие от фряшных джейлов. Только не говорите мне, что я что-то не так настраиваю. У меня опыт поболее имеется.
     
     
  • 3.3, Аноним (1), 12:10, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вопрос был не о неймспейсах, понятно, что они работают. Хотя, можешь рассказать подробности о фряхе, можешь заодно о солярке поговорить. Что именно не работает? Почему у всех работает, а у тебя нет.
     
  • 3.5, Эксперт (?), 12:31, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Skill Issue
     
  • 3.9, aname (ok), 14:11, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У меня опыт поболее имеется.

    Ясно, большой опыт делания криво, да ещё и без прогресса исцеления.

    Это судьба.

     
  • 3.20, Ivan_83 (ok), 17:00, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фряшный джейлы для начинающих и средних одминов, чего там может не работать?)
     
     
  • 4.22, Норм (?), 18:07, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    docker compose ошибку выдает 🫠
     
     
  • 5.24, Ivan_83 (ok), 18:11, 27/08/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.7, Аноним (7), 13:25, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Работает.
     

  • 1.4, Xasd1 (?), 12:18, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    знаем, пользуемся…

    ГОДНОТА!

     
  • 1.6, Аноним (6), 12:41, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А нет ли где ни будь, расписаного по shell командам, что оно делает?
     
     
  • 2.8, Аноним (8), 13:39, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    в каком смысле "делает"
    man bwrap  # не?
     
     
  • 3.11, Аноним (6), 14:44, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле - как при помощи shell скрипта огородить зпускаемое приложение, так же как это делает bwrap.
     
     
  • 4.17, _ (??), 16:49, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В стародавние времена, когда ещё даже ЫЫ-шек не было, староверы говаривали: "кури сырки сынок!"
    Современная наука не может расшифровать секретную мудрость этой фразы :)
     
  • 4.25, Аноним (25), 18:31, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Шел скриптом не огородишь!

    Вопрос доверия к groups, namespaces, LSM с SELinux.

    Использую ядро от grsecurity  с их изоляцией chroot.  Тогда для жёсткой изоляции можно использовать команду:

        setpriv --опции ... chroot --опции ...

    setpriv и chroot надо курить маны. Изоляцию даст не меньше чем самые продвинутые контейнеры! И все стандартными утилитами.

     
     
  • 5.26, Аноним (25), 18:43, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Только ядром OS можно достичь сильную изоляцию процеса. У кого нет доверия к стандартным средствам, могут использовать альтернативу:

    https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configura

     
  • 2.12, name (??), 15:24, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Есть лёгкий bubblejail.
     

  • 1.10, Аноним (10), 14:35, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Сабж лишь создает ощущение какой-то защиты. По сути это костыль с постоянной необходимостью его докручивать. И первая же ошибка сводит его пользу на нет - утечка данных происходит, дальше можно куковать.

    Нужно, чтобы ограничения исходили от самого системного API. Но это требует пересмотра всей архитектуры POSIX, чего, конечно, не будет.

    Поэтому - либо запускать софт в виртуалке, либо на отдельном ПК, не имеющего связи с интернетом, либо отрубать интернет руками на время работы сомнительного софта.

     
     
  • 2.21, Ivan_83 (ok), 17:03, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не понятно о чём вы вообще толкуете.
    Системный API как раз изначально имел разграничения по UID/GID, к этому сверху ещё неймспейсы накрутили.

    Потом не ясно от чего вам нужна защита.
    Конкретно это должно защищать систему от всяких разрушительных действий приложения.


    > Поэтому - либо запускать софт в виртуалке, либо на отдельном ПК, не имеющего связи с интернетом, либо отрубать интернет руками на время работы сомнительного софта.

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

     
  • 2.23, Норм (?), 18:09, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Пупырка не средсиво обеспечения безопасности. Как и дыркер например.
     

  • 1.13, Аноним (13), 16:08, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > ...для ограничения отдельных приложений непривилегированных пользователей.
    > ..."user namespace" теперь обязательно.

    Мда... Нет слов просто.

     
  • 1.14, Syndrome (ok), 16:30, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Необходимость включать «user namespaces» умножает на ноль всю пользу этой программы. Я заморожу себе версию пакета на «0.11.2».
     
  • 1.15, Ivan_83 (ok), 16:41, 27/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На фре есть моё: https://github.com/rozhuk-im/chroot_env
     
     
  • 2.18, _ (??), 16:52, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Портани на линукс! :)
     
     
  • 3.19, Ivan_83 (ok), 16:58, 27/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем?)
    Кроме того там половина завязана на pkg, а у линуксов куча разных штук на замену.
    Вот часть которая собирает зависимые либы для бинарника - она интересна может быть, но в линухе скорее всего тоже какие то отдельные утилиты и возможно не одна.

    И в этом плане у меня лучше сделано - я не монтирую ничего не нужного, для простых приложений будет создано почти пустое окружение где только самое необходимое для запуска.
    Просто так у меня /usr со всем барахлом не пробрасывается.

     

  • 1.27, 14yoexpert (?), 18:49, 27/08/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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