LINUX.ORG.RU
ФорумAdmin

LXC: непривилегированные контейнеры

 ,


0

6

Читаю тут про LXC(http://vasilisc.com/lxc-1-0-blog-post-series), и вот что вижу.

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

А уже в следующей статье:

В предыдущих постах было вскользь упомянуто, что не смотря на раздельные пространства имён (namespace), UID 0 (root) в контейнере по-прежнему равен UID 0 вне контейнера в хосте. Это означает, что если каким-то образом получить доступ к ресурсам хоста через proc, sys или системные вызовы (syscalls), то потенциально можно сбежать из контейнера и стать root'ом в хосте.

Для избежания такой ситуации и были разработаны пользовательские пространства имён (user namespaces).

Не могу понять, что все таки безопаснее: непривилегированные или привилегированные контейнеры? Я думал что root в непривилегированном контейнере != руту на хосте, иначе в чем смысл непривилегированных контейнеров?

root в непривилегированном контейнере != руту на хосте

Так и есть

dvrts ★★★ ()

Я думал что root в непривилегированном контейнере != руту на хосте

Я тоже так думаю. За ссылку спасибо, почитаем.

Deleted ()

Где-то слышал™ что непривелигерованные контейнеры ещё не готовы и есть проблемы с безопасностью.
Но это было полгода - год назад. LXC быстро развивается.

MrClon ★★★★★ ()
Ответ на: комментарий от Deleted

Мсье - автор блога по ссылке не всегда корректные вещи пишет, не следовало бы использовать его данные как истину в последней инстанции. Лучше гуглить по конкретному вопросу

dvrts ★★★ ()
Ответ на: комментарий от MrClon

С версии lxc 1.0 очень большие изменения в этом направлении в лучшую сторону произошли

dvrts ★★★ ()
Ответ на: комментарий от dvrts

не следовало бы использовать его данные как истину в последней инстанции

Я понял.

Давно уже на веру не воспринимаю всё, что пытаются втюхать. А когда-то да, было дело =)

Пока сам не покрутишь, не поисправляешь косяки, не вкуришь.

Deleted ()
Ответ на: комментарий от dvrts

Кажется я это слышал именно про 1.0. Во всяком случае это было после релиза 1.0.

Правильно-ли я понимаю что трабла с непривилегированными контейнерами в том что их может создавать непривилегированный пользователь, и создать их небезопасным образом (например без фильтрации доступа к устройствам), получить в своём контейнере рута, и сбедать из него уже в хостового рута?
Хотя маппинг UIDов (user namespace) во времена 1.0 уже был.

MrClon ★★★★★ ()

Почему бы вместо LXC не попробовать OpenVZ?

poiuty ()
Ответ на: комментарий от MrClon

IMHO пофиг на uid. Для контейнера можно урезать capabilities

Если юзер может создать контейнер только с урезанными правами/capabitities, то повысить привелегии он сможет только за счет ядерных багов, что пока трудно.

vel ★★★★★ ()
Ответ на: комментарий от poiuty

Потому что его нет в ванильном ядре возможно?

dvrts ★★★ ()
Ответ на: комментарий от MrClon

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

Мм, не совсем понял

dvrts ★★★ ()
Ответ на: комментарий от dvrts

Винтажную, выдержанную (:
Но если нужна именно контейнеризация под линь и нет желания глубоко копать то OVZ — хороший выбор.
LXC это всё-таки ещё больше про энтузиастов и светлое будущее.
Хотя развивается он быстро и основные дыры уже закрыты, так-что светлое будущее похоже не за горами.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

Если хост-система - выделенный хост, то openvz.

Если хост-система - обычный workstation или что-то подобное, кастомное ядро по многим причинам может не подходить.

dvrts ★★★ ()
Ответ на: комментарий от MrClon

+если юзается docker, нужен lxc (уже необязательно, но стоило бы)

dvrts ★★★ ()
Ответ на: комментарий от dvrts

Ну это да. Ставить на десктопцик OVZ ядро — явно не самая здоровая идея (:

MrClon ★★★★★ ()

Кстати как там сейчас со вложенными контейнерами? Вроде тоже были какие-то траблы с безопасностью.
Очень жду тот момент когда можно будет поднять vps внутри vps, что-бы можно было использовать vps в то время когда я буду использовать vps. OVZ/LXC внутри KVM/XEN не предлагать, не спортивно и нельзя добавить ещё один уровень.

MrClon ★★★★★ ()
Последнее исправление: MrClon (всего исправлений: 1)
Ответ на: комментарий от dvrts

У KVM всё-таки накладные расходы значимы, особо не по углубляешься.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

А какая цель? Я реальное применение такому вижу только в случае если ты купил контейнерную vpsку и хочешь в ней контейнеры запускать.

dvrts ★★★ ()
Ответ на: комментарий от dvrts

Во первых да, контейнеры на дешёвых (контейнерных) VPSках.
Во вторых контейнер внутри контейнера внутри контейнера внутри контейнера внутри контейнера это доставляет.
В третьих если LXC контейнер можно будет гарантированно создать везде то можно будет пихать в них все стрёмные сервисы просто на этапе опакечивания мэйнтейнеров дистрибутива.

MrClon ★★★★★ ()
Ответ на: комментарий от overmind88

То что оно есть я в курсе, интересно актуальное состояние.

MrClon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.