The OpenNET Project / Index page

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

Docker-контейнеры для запуска популярных декстоп-приложений

22.02.2015 08:37

Джессика Фразили (Jessica Frazelle), работающая в компании Docker inc, опубликовала подборку docker-контейнеров для запуска популярных консольных и графических пользовательских приложений в режиме изоляции от основной системы. Готовые контейнеры доступны для установки через hub.docker.com. Среди приложений: Skype, Chrome, Spotify, Gparted, Tor Browser,

Для организации ввода и вывода на экран осуществляется проброс сокета X11 в контейнер ("-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY"), для сохранения файлов в основной системе применяется bind-монтирование директорий ("-v $HOME/Downloads:/root/Downloads"). Организация вывода звука пока требует запуска контейнера в привилегированном режиме ("-v /dev/snd:/dev/snd --privileged"), что ставит вопрос о безопасности предложенного метода, так как выполнение в контейнере кода с правами root открывает дополнительные возможности по организации доступа к ресурсам основного хоста (например, в прошлом году была исправлена уязвимость, позволяющая обращаться в внешним файлам через прямой доступ к inode). В следующем выпуске Docker для проброса звука можно будет использовать "--device /dev/snd". При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

Александр Ларсон (Alexander Larsson), известный разработчик GNOME, развивающий собственную систему контейнеров для запуска графических приложений, выступил с критикой предложенного подхода, указав на то, что это не изоляция, а способ предоставления приложениям root-доступа. Основные аргументы сводятся к небезопасности X11: приложение запускается в изолированном контейнере, но по-прежнему имеет полный доступ ко всем X11-клиентам, что позволяет атакующему воспользоваться техниками перехвата событий ввода или подстановки ввода в терминал. Второй проблемой является выполнение управляющего демона docker с правами root, что даёт пользователю, имеющему доступ к запуску контейнеров, получить широкие возможности по манипуляции системными данными (например, можно запустить контейнер "docker run -v /:/tmp ubuntu rм -rf /tmp/*", который удалит все файлы в системе).

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Представлено первое полностью изолированное приложение для GNOME
  3. OpenNews: Разработчики GNOME развивают систему контейнеров для запуска графических приложений
  4. OpenNews: Один из разработчиков GNOME предложил новую реализацию неименованных каналов
  5. OpenNews: Red Hat и Docker развивают систему изолированных контейнеров для десктоп-приложений
  6. OpenNews: Выпуск cистемы управления контейнерной виртуализацией Docker 1.5
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41709-docker
Ключевые слова: docker
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 08:59, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    контейнеры, но с дырочками.
     
     
  • 2.2, angra (ok), 09:16, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    cgroups никогда не предназначались для полной изоляции. Хочется нормальной безопасности - используйте OpenVZ/Virtuozzo.
     
     
  • 3.3, Аноним (-), 09:22, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тогда почему хипсторы так радостно взялись использовать именно докер для изоляции сервисов? чтобы анб порадовать?
     
     
  • 4.4, Аноныч (?), 09:33, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Дык название "прикольное", молодёжное, а не эти ваши аббревиатуры из рекурсивных акронимов.
     
     
  • 5.11, Аноним (-), 10:41, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Дык название "прикольное", молодёжное, а не эти ваши аббревиатуры из рекурсивных акронимов.

    Докерищи когда (хоть половину) закроют?

     
  • 4.6, _KUL (ok), 10:04, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Контейнерная виртаулизация давным давно была придумана, а сейчас сделали обертку, чтобы смогли школьники разобраться. Далее прошел пиар, на всяких хабрах, лорах, опеннетах, и вот, молодёжь ссытся, что появилось, что то, якобы которого не было.
     
  • 4.10, angra (ok), 10:40, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда мне знать, почему они это делают. Я ведь не хипстер. Могу лишь отметить, что у OpenVZ есть свои недостатки, а большинство предпочитает удобство безопасности.
     
     
  • 5.15, Аноним (-), 10:54, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > лишь отметить, что у OpenVZ есть свои недостатки,

    При том абсолютно фатальный для десктопа - требует кастомное ядро. Доисторическое.

    При этом уже пофигу какая там безопасность: это ядро мое железо не поддерживает.


     
     
  • 6.22, Владимир (??), 13:15, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ничего что новые OpenVZ уже вполне себе на ванильных ядрах работают с небольшими ограничениями?
     
  • 6.48, SunXE (ok), 21:11, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    С разморозкой
     
  • 5.55, Аноним (-), 18:57, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Откуда мне знать, почему они это делают. Я ведь не хипстер.

    Я тоже. Но я ффтыкнул отчего такой hype :)
    Они его юзают как инсталлер 8-0
    Ну то есть воткнул контейнер с софтиной, поигрался, не пошло - выкинул. Без последствий для базовой системы. А на безопасности у них прибор лежит что с Docker-ом что без :)

     
  • 4.19, Аноним (-), 11:52, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Потому что хипсторы. Орешки кешью, узкие джинсы, борода, очки, айфончик, systemd, теперь вот docker.
     
     
  • 5.25, cmp (ok), 14:51, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рэпчик забыл)). Названия прочих публикаций просто кричат об этом.
     
     
  • 6.31, Xasd (ok), 15:54, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> узкие джинсы
    > Рэпчик

    ды вы что, ребят? что-то тут не так

     
  • 4.21, Аноним (-), 12:40, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    поясняю специально для экспертов-нехипсторов: запуск контейнеров по дефолту требует прав рута. И если вы привыкли раздавать их всем подряд, то вы ССЗБ
     
     
  • 5.34, Аноним (-), 16:22, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > поясняю специально для экспертов-нехипсторов: запуск контейнеров по дефолту требует прав
    > рута. И если вы привыкли раздавать их всем подряд, то вы
    > ССЗБ

    а ещё месяц назад была новость, что подписывается в докеровом репозитории не сам образ контейнера, а его описание, так что с правами рута хипстор запускает радость какира

     
  • 4.59, Dmitry77 (ok), 18:58, 27/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >тогда почему хипсторы так радостно взялись
    >использовать именно докер для изоляции сервисов?
    >чтобы анб порадовать?

    докер делается не для безопасности, он позволяет легко развёртывать приложения. Например нужно устанвить джумлу:
    1 установить бд, задать пароль администратора, пользователя
    2 установить апч
    3 устанвить джумлу прописать пароль к бд

    с докером всё сводится к одному шагу - установить джумлу с зависимостями

     
  • 3.8, Алексей (??), 10:30, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    cgroups ограничивает ресурсы, а изоляцией занимается namespaces
     
     
  • 4.12, Аноним (-), 10:42, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > cgroups ограничивает ресурсы, а изоляцией занимается namespaces

    Нет. Все это уровни абстракции. А изоляцией занимается ядро.

     
     
  • 5.14, Аноним (-), 10:52, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет. Все это уровни абстракции. А изоляцией занимается ядро.

    А cgroups и namespaces - это интерфейсы ядра, ВНЕЗАПНО. Но в ванили для 100% изоляции некоторых вещей не хватает, вот потому для ovz в нормальнмо виде и надо кастомное патченое ядро, где дополнительно запатчены лазейки из ванили.

     
     
  • 6.18, Аноним (-), 11:09, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Нет. Все это уровни абстракции. А изоляцией занимается ядро.
    > А cgroups и namespaces - это интерфейсы ядра, ВНЕЗАПНО. Но в ванили
    > для 100% изоляции некоторых вещей не хватает, вот потому для ovz
    > в нормальнмо виде и надо кастомное патченое ядро, где дополнительно запатчены
    > лазейки из ванили.

    Не спорю (по многим причинам). У них в разработке ядра своя кухня, и свой веник есть ;)

     
  • 6.46, Аноним (-), 20:00, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Нет. Все это уровни абстракции. А изоляцией занимается ядро.
    > А cgroups и namespaces - это интерфейсы ядра, ВНЕЗАПНО. Но в ванили
    > для 100% изоляции некоторых вещей не хватает, вот потому для ovz
    > в нормальнмо виде и надо кастомное патченое ядро, где дополнительно запатчены
    > лазейки из ванили.

    сказки не будем рассказывать ?:) хоть бы код посмотрели, а не верили в маркетинг.

     
  • 3.13, Аноним (-), 10:51, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > cgroups никогда не предназначались для полной изоляции.

    Вообще-то namespaces, ламо. И таки для именно этого они и предназначаются, только недопилены пока.

     
  • 3.45, Аноним (-), 19:59, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    а чем openvz отличается от cgroups ? тем что оно на них основано ?:)

     
  • 2.16, Аноним (-), 10:54, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > контейнеры, но с дырочками.

    Забавно смотрится /root/Downloads. Нормальное такое размещение диры...

     
  • 2.20, Andrey (??), 12:37, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, друшлак :)
     
     
  • 3.24, kleemhead (?), 14:41, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Дуршлякер
     
  • 2.32, Отче (?), 15:55, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > контейнеры, но с дырочками.

    А ты как хотел?
    Сейчас даже ложки дырявые в моде.


     
  • 2.49, Тот ещё аноним (?), 21:44, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как ламер спрашиваю - как создать свой докер контейнер с нуля? Не предлагайте скачать от доброжелателей.
     
     
  • 3.51, epicfile (?), 11:02, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    гугли 'creating docker base image'. Вообще, частный случай для дебиана, например, это debootstrap.
     
  • 2.54, Аноним (-), 18:30, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Когда хипстеров это останавливало? https://www.youtube.com/watch?v=j2n0d7AZNug
     

  • 1.23, Stax (ok), 14:03, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Организация вывода звука пока требует запуска контейнера в привилегированном режиме ("-v /dev/snd:/dev/snd --privileged"),

    Бред они какой-то написали. Рут ради /dev/snd?? Нужно пробрасывать сокет pulse и ключ для dbus: "-v /run/user/${UID}/pulse:/run/user/${UID}/pulse -v /dev/shm:/dev/shm -v /etc/machine-id:/etc/machine-id" - работает идеально и никаких лишних прав не требуется.

     
  • 1.27, XXasd (?), 15:29, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

    При чём тут sda ? Может я sdb хочу разметмть?

    врядли я стал бы использовать gparted ... Но всё равно -- где тут небезопасность?

     
     
  • 2.29, ebuild_destroyer (?), 15:41, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >где тут небезопасность?

    Везде тут небезопасность!

     
  • 2.35, Аноним (-), 16:23, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    наверное sdb будет в следующей версии хипстоинноваций, когда эппл запатентует sdb, и его станет модно размечать
     

  • 1.37, Нанобот (ok), 16:45, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

    не совсем. если вдруг какой-то параноик захочет разметить один диск, а при этом боится, что gparted сольёт порн^W важную информацию в АНБ/MI-6/ZoG с другого, то докер поможет. хотя лично я считаю, что в этом случае следует  бороться с причиной, а не со следствиями, т.е. лечить паранойю

     
  • 1.38, Аноним (-), 16:59, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Контейнеры ради контейнеров, отсутствие безопасности и лишние неудобства.
     
  • 1.40, EuPhobos (ok), 17:41, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > "docker run -v /:/tmp ubuntu rм -rf /tmp/*"

    Какой автор заботливый, комманда "rм" явно не отработает ))

     
  • 1.41, MPEG LA (ok), 17:45, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Среди приложений: Skype, Chrome, Spotify, Gparted, Tor Browser,

    т.е. я не должен доверять всем этим приложениям, а запускать от рута контейнеры с бугра, собранные непонятно кем - это Ъ-way?

     
     
  • 2.42, Аноним (-), 17:49, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Верить, в наше время, нельзя никому. Порой даже, самому себе. Мне - можно. (с)
     

  • 1.43, th3m3 (ok), 18:10, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эти контейнеры на самом деле нужны для узкого круга задач. Во всяком случае в таком виде, в котором они есть сейчас.
     
  • 1.47, earfin (??), 20:26, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Наркоманы. А как же насчет "Docker not about security in production" или как там их главный недавно вещал?
     
     
  • 2.50, Михрютка (ok), 22:28, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    найдите в словах Skype Spotify и Tor browser хоть одну букву из слова продакшн
     

  • 1.52, scorry (ok), 11:48, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

    На хрена тогда контейнер было делать? Чего же не сделали ещё контейнер, внутри первого?

     
  • 1.53, Аноним (-), 12:01, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Контейнеры GNOME это статически собранный бинарник c конфигом SELinux?
     
  • 1.56, Аноним (-), 00:37, 24/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чудовищно. Давно есть вменяемые средства дря запуска "всего и вся" в изоляции друг от друга. Нахрена этот баян? Ну для хостера да, я согласен. Но взрывать мозг хомякам каким-то скайпом в какойм-то докере? Очень мило.  
     
  • 1.57, rex (??), 01:09, 26/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вполне нормальный кейс, не связанный с безопасностью:

    развернуть кучу проектов с конфликтующими зависимостями;

    писать
    port = 1048
    вместо
    port = portAllocator.reservedRangeXXFor(currentProjectId).from + 44

     

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



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

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