The OpenNET Project / Index page

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

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

28.05.2019 12:20

Увидел свет релиз проекта Firejail 0.9.60, в рамках которого развивается система для изолированного выполнения графических, консольных и серверных приложений. Применение Firejail позволяет минимизировать риск компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Программа написана на языке Си, распространяется под лицензией 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, например, "firejail firefox" или "sudo firejail /etc/init.d/nginx start".

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

  • Устранена уязвимость, позволяющая вредоносному процессу обойти механизм ограничения системных вызовов. Суть уязвимость в том, что фильтры Seccomp копируются в каталог /run/firejail/mnt, доступный на запись внутри изолированного окружения. Запускаемые в режиме изоляции вредоносные процессы могут изменить эти файлы, что приведёт к тому, что новые процессы, запущенные в этом же окружении, будут выполнены без применения фильтра системных вызовов;
  • В фильтре memory-deny-write-execute обеспечена блокировка вызова "memfd_create";
  • Добавлена новая опция "private-cwd" для изменения рабочего каталога для jail;
  • Добавлена опция "--nodbus" для блокировки сокетов D-Bus;
  • Возвращена поддержка CentOS 6;
  • Прекращена поддержка пакетов в форматах flatpak и snap. Указано, что для данных пакетов следует использовать их собственный инструментарий;
  • Добавлены новые профили для изоляции 87 дополнительных программ, в числе которых mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp и cantata.


  1. Главная ссылка к новости (https://github.com/netblue30/f...)
  2. OpenNews: Серия уязвимостей в Firejail
  3. OpenNews: Обновление системы изоляции приложений Firejail 0.9.42
  4. OpenNews: Релиз ОС Qubes 4.0, использующей виртуализацию для изоляции приложений
  5. OpenNews: Уязвимость в runc и LXC, затрагивающая Docker и другие системы контейнерной изоляции
  6. OpenNews: Уязвимость в snapd и flatpak, позволяющая обойти режим изоляции
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50760-firejail
Ключевые слова: firejail, sandbox, chroot, container
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:48, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а ограничивать доступ в интернеты оно умеет? А то я по-старинке режу через иптаблес и неймспейсы
     
     
  • 2.5, Аноним (-), 13:11, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да, через неймсейсы же и делает
     

  • 1.2, slauka (?), 12:49, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Судя по истории изменений, Firejail также можно считать потенциально уязвимой программой.
     
     
  • 2.17, Аноним (17), 19:03, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Все программы потенциально уязвимые.
     

  • 1.3, Аноним (3), 12:53, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не забываем, что это suid-программа, в котороый уже были уязвимости, позволяющие получить root: https://www.opennet.me/opennews/art.shtml?num=45824
     
     
  • 2.4, Аноним (4), 13:08, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ...при условии, что приложение-вредонос уже запущено _извне_ сэндбокса
     
     
  • 3.16, Аноним (17), 19:02, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Локальное повышение привилегий - это тоже уязвимость.
     
  • 2.6, Аноним (-), 13:13, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тогда только bubblewrap
     
     
  • 3.8, vn971 (ok), 13:38, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    bubblewrap самое оно.

    Пользовался firejail-ом несколько лет. Писал все скрипты сам, знал почти опции и как оно примерно работает. Задолбался работать со всеми этими глюками, обилием критических уязвимостей (одну зарепортил сам, кстати -- позволяла обнулить любой файл в хост-системе).

    Ушёл в bwrap, не жалею. В начале этого года извёл, наконец, последние скрипты на нём и переписал на bwrap. Всё чище, приятнее, никаких исключений и особых правил.

    Если кто пишет firejail-правила самостоятельно -- рекомендую попробовать bwrap.

     
  • 3.10, Аноним (-), 14:02, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а как оно, в плане дружелюбности для обычного_пользователя? У firejail есть заготовленный список правил для ленивых, вики с кучей примеров настройки на все случаи жизни и гуй для неосиляторов консоли, а что тут?
     
  • 3.19, Аноним (17), 19:06, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    это разве не самодостаточные пакеты, которые ффтoпку?
     
     
  • 4.27, Аноним (-), 23:46, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это паpaзuтopии туда. Путаешь, как всегда.
     

  • 1.7, abi (?), 13:19, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это прекрасно, но не на гнилых процессорах.
     
     
  • 2.9, Аноним (-), 13:39, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    RISC-V не гниет
     
  • 2.30, Аноним (30), 08:26, 29/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кто же вас заставляет Интел использовать?
     

  • 1.11, Аноним (11), 14:20, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Apparmor уже не торт? Кто-то даже профили пишет https://github.com/viewizard/gentoo-apparmor/tree/master/apparmor.d
     
     
  • 2.15, Аноним (17), 19:02, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Она использует apparmor, если скомпилировать с этой опцией.
     

  • 1.12, Аноним (12), 15:05, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А какой смысл ограничивать тот же xfce4-mixer? Ладно браузер, там недоверенный жабаскрипт и прочий wasm, ладно mypaint - могут быть эксплоиты в редактируемых изображениях, с натяжкой даже redshift - он к сети обращается для определения координат, если их не задать вручную, и теоретически можно подменой ответа сервера сделать какую-нибудь бяку. Но вот на сценарий эксплуатации уязвимости в ползунке регулировки громкости у меня не хватает фантазии.
     
     
  • 2.13, Аноним (13), 17:49, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну например уязвимость в протоколе/реализации pulseaudio любое приложение выводящее звук потенциальный атакующий, если не изолировать саму пульсу и всех её клиентов, то остается повышенный риск эксплуатации такой уязвимости.
     
  • 2.21, Аноним (21), 20:54, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хакнры доберутся до пшшаудио и включат русский рэп.
    Это ИМХО пострашнее всяких Spectre.
     
  • 2.23, Аноним (23), 21:39, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Лол атакуют всегда там где не ждут. Через ползунок можно поднять громкость и через динамики данные передавать на ультразвуке. Узко мыслите товарищ.
     

  • 1.14, Аноним (14), 18:36, 28/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    >Программа написана на языке Си

    Изоляция? Ну-ну.

     
     
  • 2.18, Аноним (17), 19:04, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перепиши на ржавчину.
     
     
  • 3.26, Аноним (-), 23:41, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл, оно лишь удобная обертка к фичам ядра. Тогда надо ядро сначала переписать.
     
  • 2.20, Аноним (20), 20:36, 28/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что не так?
     
     
  • 3.22, Аноним (-), 21:32, 28/05/2019 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 4.24, Аноним (23), 21:41, 28/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.25, Аноним (-), 21:45, 28/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

     ....ответы скрыты (6)

  • 1.28, Аноним (28), 00:36, 29/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что люди не делают, лишь бы selinux не использовать
     
     
  • 2.29, anonymous (??), 06:45, 29/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > что люди не делают, лишь бы selinux не использовать

    selinux отдельно, контейнеры отдельно. Просто банально страшно давать яве доступ к файловой системе и хочется ограничить его.

     

  • 1.31, Аноним (-), 15:28, 29/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тот у кого руки от плеч и голова от шеи, напишет на чистом Си суперсекурную прогу.
     

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



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

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