Есть ли заметные различия между LXC (контейнеры Linux) и тюрьмами FreeBSD с точки зрения безопасности, стабильности и производительности?
На первый взгляд оба подхода выглядят очень похоже.
Есть ли заметные различия между LXC (контейнеры Linux) и тюрьмами FreeBSD с точки зрения безопасности, стабильности и производительности?
На первый взгляд оба подхода выглядят очень похоже.
Ответы:
Независимо от того, какое причудливое имя используется здесь, оба являются решениями конкретной проблемы: лучшее решение для сегрегации, чем классический Unix chroot . Виртуализация на уровне операционной системы, контейнеры, зоны или даже «chroot with steroids» - это названия или коммерческие названия, которые определяют ту же концепцию разделения пространства пользователя, но с различными функциями.
Chroot был представлен 18 марта 1982 года, за несколько месяцев до выпуска 4.2 BSD , как инструмент для тестирования его установки и сборки системы, но сегодня у него все еще есть свои недостатки. Так как первая цель chroot состояла только в том, чтобы обеспечить путь нового рута , другие аспекты системы, которые должны были быть изолированы или управляемы, были раскрыты (сеть, представление процесса, пропускная способность ввода / вывода). Именно здесь появились первые контейнеры (виртуализация на уровне пользователя).
Обе технологии (FreeBSD Jails и LXC) используют изоляцию пространства пользователя для обеспечения еще одного уровня безопасности. Такое разделение будет гарантировать, что определенный процесс будет взаимодействовать только с другими процессами в том же контейнере на том же хосте, и если при использовании какого-либо сетевого ресурса для достижения связи «с внешним миром» все будет перенаправлено на назначенный интерфейс / канал, который этот контейнер есть.
Особенности
FreeBSD Jails:
allow.mount.zfs
чтобы получить больше власти, и другие переменные, такие какchildren.max
действительно, определяют максимальное количество детей в тюрьмах.vnet
, позволяющая каждой тюрьме иметь свой собственный сетевой стек, интерфейсы, таблицы адресации и маршрутизации;nullfs
помочь связать папки с папками, расположенными на реальном сервере, внутри тюрьмы;sysctl
).security.jail.allow.*
параметры будут ограничивать действия пользователя root этой тюрьмы.Контейнеры Linux (LXC):
Разрабатывается функциональность живой миграции. Сложно сказать, когда он будет готов к производственному использованию, поскольку docker / lxc будет иметь дело с паузой, снимком, переносом и переносом процессов в пользовательском пространстве - ref1 , ref2 .Динамическая миграция работает с базовыми контейнерами (без прохода устройства, сложных сетевых служб или специальных конфигураций хранилища).Docker больше не использует lxc. Теперь у них есть специальная библиотека libcontainer, которая напрямую обрабатывает интеграцию с низкоуровневым пространством имен ядра и cgroups.
Ни одна из этих технологий не является панацеей безопасности, но обе являются довольно хорошими способами изолировать среду, которая не требует полной виртуализации из-за смешанной инфраструктуры операционных систем. Безопасность придет после прочтения документации и реализации настраиваемых параметров ядра, MAC и изоляций, которые предлагает вам тот уровень Virt на уровне ОС.
Смотрите также:
источник
root
(и, таким образом, находились в общесистемном расположении для контейнеров).