URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 101551
[ Назад ]

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

Отправлено opennews , 22-Фев-15 08:59 
Джессика Фразили (Jessica Frazelle), работающая в компании Docker inc, опубликовала (https://blog.jessfraz.com/posts/docker-containers-on-the-des...) подборку  docker-контейнеров (http://github.com/jfrazelle/dockerfiles) для запуска популярных консольных и графических пользовательских приложений в режиме изоляции от основной системы. Готовые контейнеры доступны для установки через hub.docker.com (http://hub.docker.com/u/jess). Среди приложений: 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 открывает дополнительные возможности по организации доступа к ресурсам основного хоста (например, в прошлом году была исправлена (http://www.opennet.me/opennews/art.shtml?num=40046) уязвимость, позволяющая  обращаться в внешним файлам через прямой доступ к inode). В следующем выпуске Docker для проброса звука можно будет использовать "--device /dev/snd". При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

Александр Ларсон (Alexander Larsson), известный разработчик GNOME, развивающий собственную систему контейнеров (http://www.opennet.me/opennews/art.shtml?num=41514) для запуска графических приложений, выступил (https://news.ycombinator.com/item?id=9087293) с критикой предложенного подхода, указав на то, что это не изоляция, а способ предоставления приложениям root-доступа. Основные аргументы сводятся к небезопасности X11: приложение запускается в изолированном контейнере, но по-прежнему имеет полный доступ ко всем X11-клиентам, что позволяет атакующему воспользоваться техниками перехвата (https://github.com/magcius/keylog) событий ввода или подстановки ввода в терминал. Второй проблемой является выполнение управляющего демона docker с правами root, что даёт пользователю, имеющему доступ к запуску контейнеров, получить широкие возможности по манипуляции системными данными (например, можно запустить контейнер "docker run -v /:/tmp ubuntu rм -rf /tmp/*", который удалит все файлы в системе).

URL: https://news.ycombinator.com/item?id=9086751
Новость: http://www.opennet.me/opennews/art.shtml?num=41709


Содержание

Сообщения в этом обсуждении
"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 08:59 
контейнеры, но с дырочками.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено angra , 22-Фев-15 09:16 
cgroups никогда не предназначались для полной изоляции. Хочется нормальной безопасности - используйте OpenVZ/Virtuozzo.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 09:22 
тогда почему хипсторы так радостно взялись использовать именно докер для изоляции сервисов? чтобы анб порадовать?

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноныч , 22-Фев-15 09:33 
Дык название "прикольное", молодёжное, а не эти ваши аббревиатуры из рекурсивных акронимов.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:41 
> Дык название "прикольное", молодёжное, а не эти ваши аббревиатуры из рекурсивных акронимов.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено _KUL , 22-Фев-15 10:04 
Контейнерная виртаулизация давным давно была придумана, а сейчас сделали обертку, чтобы смогли школьники разобраться. Далее прошел пиар, на всяких хабрах, лорах, опеннетах, и вот, молодёжь ссытся, что появилось, что то, якобы которого не было.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено angra , 22-Фев-15 10:40 
Откуда мне знать, почему они это делают. Я ведь не хипстер. Могу лишь отметить, что у OpenVZ есть свои недостатки, а большинство предпочитает удобство безопасности.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:54 
> лишь отметить, что у OpenVZ есть свои недостатки,

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

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



"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Владимир , 22-Фев-15 13:15 
Ничего что новые OpenVZ уже вполне себе на ванильных ядрах работают с небольшими ограничениями?

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено SunXE , 22-Фев-15 21:11 
С разморозкой

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 23-Фев-15 18:57 
> Откуда мне знать, почему они это делают. Я ведь не хипстер.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 11:52 
Потому что хипсторы. Орешки кешью, узкие джинсы, борода, очки, айфончик, systemd, теперь вот docker.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено cmp , 22-Фев-15 14:51 
Рэпчик забыл)). Названия прочих публикаций просто кричат об этом.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Xasd , 22-Фев-15 15:54 
>> узкие джинсы
> Рэпчик

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 12:40 
поясняю специально для экспертов-нехипсторов: запуск контейнеров по дефолту требует прав рута. И если вы привыкли раздавать их всем подряд, то вы ССЗБ

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 16:22 
> поясняю специально для экспертов-нехипсторов: запуск контейнеров по дефолту требует прав
> рута. И если вы привыкли раздавать их всем подряд, то вы
> ССЗБ

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Dmitry77 , 27-Фев-15 18:58 
>тогда почему хипсторы так радостно взялись
>использовать именно докер для изоляции сервисов?
>чтобы анб порадовать?

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

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Алексей , 22-Фев-15 10:30 
cgroups ограничивает ресурсы, а изоляцией занимается namespaces

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:42 
> cgroups ограничивает ресурсы, а изоляцией занимается namespaces

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:52 
> Нет. Все это уровни абстракции. А изоляцией занимается ядро.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 11:09 
>> Нет. Все это уровни абстракции. А изоляцией занимается ядро.
> А cgroups и namespaces - это интерфейсы ядра, ВНЕЗАПНО. Но в ванили
> для 100% изоляции некоторых вещей не хватает, вот потому для ovz
> в нормальнмо виде и надо кастомное патченое ядро, где дополнительно запатчены
> лазейки из ванили.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 20:00 
>> Нет. Все это уровни абстракции. А изоляцией занимается ядро.
> А cgroups и namespaces - это интерфейсы ядра, ВНЕЗАПНО. Но в ванили
> для 100% изоляции некоторых вещей не хватает, вот потому для ovz
> в нормальнмо виде и надо кастомное патченое ядро, где дополнительно запатчены
> лазейки из ванили.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:51 
> cgroups никогда не предназначались для полной изоляции.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 19:59 
а чем openvz отличается от cgroups ? тем что оно на них основано ?:)


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 10:54 
> контейнеры, но с дырочками.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Andrey , 22-Фев-15 12:37 
Ага, друшлак :)

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено kleemhead , 22-Фев-15 14:41 
Дуршлякер

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Отче , 22-Фев-15 15:55 
> контейнеры, но с дырочками.

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



"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Тот ещё аноним , 22-Фев-15 21:44 
Как ламер спрашиваю - как создать свой докер контейнер с нуля? Не предлагайте скачать от доброжелателей.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено epicfile , 23-Фев-15 11:02 
гугли 'creating docker base image'. Вообще, частный случай для дебиана, например, это debootstrap.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 23-Фев-15 18:30 
Когда хипстеров это останавливало? https://www.youtube.com/watch?v=j2n0d7AZNug

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Stax , 22-Фев-15 14:03 
> Организация вывода звука пока требует запуска контейнера в привилегированном режиме ("-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" - работает идеально и никаких лишних прав не требуется.


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено XXasd , 22-Фев-15 15:29 
> При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

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

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено ebuild_destroyer , 22-Фев-15 15:41 
>где тут небезопасность?

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 16:23 
наверное sdb будет в следующей версии хипстоинноваций, когда эппл запатентует sdb, и его станет модно размечать

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Нанобот , 22-Фев-15 16:45 
>При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 16:59 
Контейнеры ради контейнеров, отсутствие безопасности и лишние неудобства.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено EuPhobos , 22-Фев-15 17:41 
> "docker run -v /:/tmp ubuntu rм -rf /tmp/*"

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено MPEG LA , 22-Фев-15 17:45 
>Среди приложений: Skype, Chrome, Spotify, Gparted, Tor Browser,

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 22-Фев-15 17:49 
Верить, в наше время, нельзя никому. Порой даже, самому себе. Мне - можно. (с)

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено th3m3 , 22-Фев-15 18:10 
Эти контейнеры на самом деле нужны для узкого круга задач. Во всяком случае в таком виде, в котором они есть сейчас.

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено earfin , 22-Фев-15 20:26 
Наркоманы. А как же насчет "Docker not about security in production" или как там их главный недавно вещал?

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Михрютка , 22-Фев-15 22:28 
найдите в словах Skype Spotify и Tor browser хоть одну букву из слова продакшн

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено scorry , 23-Фев-15 11:48 
> При запуске Gparted используется полный проброс в контейнер блочного устройства ("--device /dev/sda:/dev/sda"), что делает бессмысленным использования контейнера в этом случае.

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


"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 23-Фев-15 12:01 
Контейнеры GNOME это статически собранный бинарник c конфигом SELinux?

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено Аноним , 24-Фев-15 00:37 
Чудовищно. Давно есть вменяемые средства дря запуска "всего и вся" в изоляции друг от друга. Нахрена этот баян? Ну для хостера да, я согласен. Но взрывать мозг хомякам каким-то скайпом в какойм-то докере? Очень мило.  

"Docker-контейнеры для запуска популярных декстоп-приложений"
Отправлено rex , 26-Фев-15 01:09 
Вполне нормальный кейс, не связанный с безопасностью:

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

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