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

22 февраля 2015 года

Джессика Фразили (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/*", который удалит все файлы в системе).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Docker-контейнеры для запуска популярных декстоп-приложений», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.