Безопасно ли использовать контейнеры linux (lxc), как docker?


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

2 4

2 ответа:

Насколько я могу судить, ответ-да. Так что вы, вероятно, не должны давать хакеру sudo права на любой контейнер...

Быстрый поиск в Google дал мне следующее.
  • On https://wiki.ubuntu.com/LxcSecurity :

    ... контейнеры всегда будут (по замыслу) совместно использовать то же ядро, что и хост. Таким образом, любые уязвимости в интерфейсе ядра, если контейнер не запрещен использование этого интерфейса (т. е. использование seccomp2) могут быть использованы с помощью контейнера нанести вред хозяину.

  • On http://www.funtoo.org/wiki/Linux_Containers

    Начиная с ядра Linux 3.1.5, LXC можно использовать для изоляции ваших личных рабочих нагрузок друг от друга. Он еще не готов изолировать потенциально вредоносных пользователей друг от друга или хост-системы.

    Они предлагают OpenVZ в качестве альтернативы.

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

Тем не менее, нет никакой гарантии, что пользователь не сможет вырваться из контейнера, учитывая эксплойт в контрольных группах, или что конфигурация идеальна. Это следует оценивать по мере необходимости.