Дата публикации:Thu, 30 Apr 2026 10:04:11 +0300
Сообщество Linux Containers опубликовало релиз инструментария для организации работы изолированных контейнеров LXC 7.0, предоставляющий runtime, подходящий как для запуска контейнеров с полным системным окружением, близких к виртуальным машинам, так и для выполнения непривилегированных контейнеров отдельных приложений (OCI). LXC относится к низкоуровневым инструментариям, работающим на уровне отдельных контейнеров. Для централизованного управления контейнерами, развёрнутыми в кластере из нескольких серверов, на базе LXC развиваются системы Incus и LXD. Ветка LXC 7.0 отнесена к выпускам с длительной поддержкой, обновления для которых формируются в течение 5 лет (до 2031 года). Код LXC написан на языке Си и распространяется под лицензией GPLv2.
В состав LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования. Изоляция осуществляется при помощи штатных механизмов ядра Linux. Для изоляции процессов, сетевого стека ipc, uts, идентификаторов пользователей и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.
Основные изменения:
- Реализована изоляция процесса мониторинга при помощи механизма Landlock, позволяющего непривилегированным программам сбрасывать ненужные для работы привилегии, добровольно ограничивая свой дальнейший доступ к системе в целях повышения безопасности. Landlock задействован для ограничения обработчиков API мониторинга возможностью работы только с контейнером и запрета доступа к файлам за его пределами. Защита применяется при сборке landlock-monitor. Разделена конфигурация обработчиков (hook) и контейнеров (runtime). Добавлены новые настройки lxc.environment.hooks и lxc.environment.runtime, при помощи которых можно выборочно выставлять переменные окружения только для контейнеров, не передавая их hook-обработчикам, и наоборот. Прекращена поддержка cgroup v1, а также ядер Linux, не поддерживающих PIDFD и новый API управления монтированием. Устранена уязвимость (CVE-2026-39402), позволяющая обойти авторизацию и добиться удаления портов OVS (OpenVswitch) через манипуляцию с командой "lxc-user-nic delete". Уязвимость позволяет непривилегированному пользователю отключить сетевые интерфейсы для контейнеров, запущенных другими пользователями.
Среди изменений в LXD 6.8:
- Добавлена функция связывания кластеров (Cluster links), позволяющая организовать защищённое и аутентифицированное при помощи TLS-сертификатов взаимодействие между разными кластерами LXD. Для управления связыванием добавлена команда "lxc cluster link" и реализован соответствующий раздел в web-интерфейсе. Добавлена новая роль узлов кластера - "control-plane", при помощи которой можно выделить узлы, участвующие в определении консенсуса Raft и способные выступать в роли запасных или мастер-узлов БД. Реализованы репликаторы, позволяющие использовать API Сluster links для репликации содержимого узлов в другие кластеры LXD с целью обеспечения отказоустойчивости. Добавлена поддержка горячего подключения устройств GPU CDI (Container Device Interface) к работающим контейнерам. В драйвер хранилища Ceph добавлена поддержка протокола msgr2 (Ceph messenger v2). В web-интерфейсе добавлены инструменты для управления ролями узлов кластера, модернизирован редактор конфигурации в формате YAML, реализовано стилизованное под Ubuntu оформление встроенного эмулятора терминала, улучшен выбор драйверов хранилищ.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65327



