Назад | Перейти на главную страницу

Зачем использовать lxc вместо chroot?

На одном сервере ubuntu размещены 3 приложения, все в разных доменах.
У каждого приложения есть свои разработчики.
Разработчики приложений входят в группу linux "sftp".
chroot разрешает доступ по паролю sftp для каждого разработчика приложения.

/home/app1/prod
/home/app2/prod
/home/app3/prod

В sshd_config

Match Group sftp  
  PasswordAuthentication yes
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

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

Должны ли мы использовать контейнер lxc вместо chroot? Зачем? Будет ли переход на контейнеры lxc прозрачным для разработчиков приложений?

Контейнеры Linux (LXC) - это метод виртуализации на уровне операционной системы для запуска нескольких изолированных серверных установок (контейнеров) на одном управляющем хосте. LXC не предоставляет виртуальную машину, а предоставляет виртуальную среду, которая имеет свой собственный процесс и сетевое пространство. Он похож на chroot, но предлагает гораздо больше изоляции.

Контейнеры Linux имеют несколько особенностей / преимуществ:

Преимущества:

Лучшая изоляция по сравнению с chroot (chroot jail). Низкие накладные расходы. LXC использует минимальные ресурсы с точки зрения ОЗУ и места на жестком диске без накладных расходов на установку гостевой ОС на виртуальной машине (VMWare / VirtualBox / KVM).

Приложения и службы (серверы) работают на собственной скорости.

В libvirt есть поддержка контейнеров Linux.

Контейнеры Linux хорошо работают с btrfs.

Но есть и обратная сторона:

Контейнеры Linux запускают процессы Linux в ядре Linux. Это означает, что вы можете запускать Linux (контейнер Fedora на хосте Ubuntu), но не другие операционные системы (не BSD / OSX / Windows).

Для настройки контейнеров и управления ими нет графических интерфейсов.

Документации по установке и настройке контейнера очень мало. Настройка контейнера требует скромных технических знаний и навыков (и большого терпения).