The OpenNET Project / Index page

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

Доступна система изоляции приложений Firejail 0.9.40

01.06.2016 23:57

Представлен выпуск Firejail 0.9.40, системы изолированного выполнения графических, консольных и серверных приложений. Целью Firejail является минимизация риска компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Для изоляции в Firejail используется механизм пространств имён (namespaces) и фильтрация системных вызовов (seccomp-bpf) в Linux. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. Программа написана на языке Си, распространяется под лицензией GPLv2 и может работать в любом дистрибутиве Linux с ядром старше 3.0. Готовый пакет с Firejail можно установить из Debian jessie-backports.

В отличие от средств контейнерной изоляции firejail предельно прост в конфигурации и не требует подготовки системного образа - состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. При желании, Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ. Предоставляются гибкие средства задания правил доступа к файловой системе, можно определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступа к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs. Профили изоляции системных вызовов подготовлены для большого числа популярных приложений, в том числе для Firefox, Chromium, VLC и Transmission. Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, "firejail firefox" или "sudo firejail /etc/init.d/nginx start".

Особенности новой версии:

  • Поддержка sandbox-окружения X11 со своим X-сервером, в качестве которого могут выступать Xpra (подобие утилиты screen для X11) и Xephyr (позволяет запустить X-сервер в окне уже запущенного X-сервера), что даёт возможность организовать запуск приложений на системе без монитора с трансляций вывода на внешний хост;
  • Возможность передачи файлов между sandbox-окружениями и хост-системой;
  • Поддержка изменения конфигурации во время работы и на этапе компиляции. Через файл конфигурации теперь можно определить какие из механизмов изоляции и безопасности ядра будут задействованы в исполняемом файле Firejail (запускается с флагом SUID root);
  • Поддержка AppArmor. Профили изоляции на базе AppArmor подготовлены для Firefox, Chromium, Evince, Pidgin и Totem;
  • Обеспечена совместимость со сборками ядра Linux, в которых используются патчи Grsecurity (ядро Linux 4.4 c Grsecurity можно найти в Debian testing, unstable и jessie-backports);
  • Новая утилита firecfg для автоматизации настройки параметров изолированного запуска приложений (для изолированного запуска приложений создаются символические ссылки в /usr/local/bin);
  • Число профилей изоляции приложений доведено до 95. Добавлены новые профили для таких программ, как lxterminal, Epiphany, Vivaldi, qTox, OpenSSH client, OpenBox, dnsmasq, PaleMoon, Icedove, okular, gwenview, Brave.


  1. Главная ссылка к новости (https://l3net.wordpress.com/20...)
  2. OpenNews: Выпуск xdg-app 0.5.0, изолированных контейнеров для графических приложений
  3. OpenNews: Проблемы с изоляцией в Ubuntu Snap при работе в окружении X11
  4. OpenNews: Система изолированных контейнеров для графических приложений xdg-app переименована во flatpak
  5. OpenNews: Компания Google открыла код системы изолированных контейнеров Lmctfy
  6. OpenNews: Представлен virt-sandbox, инструмент для обеспечения изолированного запуска приложений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44534-firejail
Ключевые слова: firejail, limit, chroot, jail
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 00:57, 02/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Wine приложения умеет изолированно запускать?
     
     
  • 2.2, Аноним 84704 (?), 01:12, 02/06/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://github.com/netblue30/firejail/blob/master/etc/wine.profile
    Должен уметь.
     
     
  • 3.9, barmaglot (??), 14:40, 02/06/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Теперь вирусы виндоуз можно безопасно выполнять в линукс ...
     

  • 1.3, Аноним (-), 02:33, 02/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Весьма годная запускалка контейнеров. Вместо громких бла-бла как gnome apps эти просто взяли и запилили. Программы менять не требуется, и вообще.
     
  • 1.4, Dkg (?), 08:32, 02/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Народобие Sandboxie?
     
     
  • 2.13, stalkerdroad (ok), 02:40, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    mbox https://github.com/tsgates/mbox https://pdos.csail.mit.edu/archive/mbox/
     

  • 1.6, Philosonimus (ok), 11:13, 02/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А между тем реальная победа над freebsd jail с ardens...
     
     
  • 2.10, Аноним (-), 17:10, 02/06/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> и фильтрация системных вызовов
    > А между тем реальная победа над freebsd jail

    А что из них фиолетевее?

     

  • 1.7, Аноним (-), 13:02, 02/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если ипользовать Firejail, то можно default route поменять в контейнере?
     
     
  • 2.8, Аноним (-), 13:18, 02/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    предположу, что сие можное реализовать через маркировку пакетов от определенного пида через айпитейблс с последующим рулением через ip rule и таблицы рутинга. в теории можно даже автоматизировать
     
  • 2.11, Аноним (-), 20:36, 02/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У каждого network namespace можно указать свой default route
     
  • 2.16, Анонис (?), 08:14, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ипользовать Firejail, то можно default route поменять в контейнере?

    Создай новый сетевой нэймспэйс и получи свои сетевые адаптеры, правила фаера, маршруты и прочее. Настоящая виртуальная машина со скоростью как у чрута.

     

  • 1.12, Онаним (?), 02:01, 03/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Запретить отдельно взятому приложению доступ в Интернет позволяет? Давно ищу что-то, что позволит выпускать в Сеть только те проги, которым это реально надо также легко, как это делается в Windows (AppArmor не помог - не умеет ограничивать Java-приложения а некоторые нативные проги под ним не запускаются вообще даже если всё разрешить).
     
     
  • 2.14, stalkerdroad (ok), 03:02, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    lxc/docker. И overlayfs чтобы место на диске не перерасходовать.
     
     
  • 3.15, Онаним (?), 03:30, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Речь идёт о гуёвых приложениях, ещё и требующих доступа к USB-железу, например, так что про Docker сомневаюсь, LXC - хз.
     
  • 3.18, Аноним (-), 08:19, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > lxc/docker. И overlayfs чтобы место на диске не перерасходовать.

    А зачем? Сабж умеет "временные" пустышки создавать и компоновать вид ФС монтированием. Да еще системные вызовы грамотно обрубает, так что вылезти из грамотно сделанного контейнеа будет достаточно сложно. Эти в отличие от докеров занимались не пиаром а системным программированием.

     
  • 2.17, Аноним (-), 08:18, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Запретить отдельно взятому приложению доступ в Интернет позволяет?

    Да. Можно даже веселее: убираешь сеть в дефолтном namespace. Поднимаешь ее только в namespaces в которые пушишь свои избранные проги. Можешь интерфейс в новый namespace переместить, или создать новый MACVLAN на существующем ифэйсе (сабж это умеет).

    Вообще, да будет вам не лень прочитать "man ip" от корки до корки, узнаете что Linux умеет делать с сетями очень многое. О половине из этого вы даже не мечтали, а оно есть.

     
     
  • 3.19, stalkerdroad (ok), 13:34, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Поднимаешь ее только в namespaces в которые пушишь свои избранные проги.

    Мне кажется все дочерние процессы также будут иметь доступ в интернет.
    Это не как в виндоус. Там ограничение по полному пути exe-программы.

     
     
  • 4.21, Led (ok), 21:39, 03/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Пиши ещё - мнение вендузоеда-на-каникулах очень важно для нас.
     
     
  • 5.23, stalkerdroad (ok), 00:41, 04/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ты знаешь как работает net namespace ?
     
  • 2.24, asd9uh (?), 04:17, 26/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    TOMOYO Linux умеет контролировать сеть отдельных приложений
     

  • 1.22, Аноним (-), 22:10, 03/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    народ, что лучше, чтобы запускать софтваре без прав на чтение других директорий (включая хомяка) - оно или ручками пилить отдельного юзверя и проставлять права?
     

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



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

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