Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)

с подключенным компонентом astra-ce расширенного (extended) репозитория

Аннотация

В данной статье представлена инструкция по установке системы контейнерной изоляции LXC, доступной в составе расширенного репозитория Astra Linux Special Edition x.7 (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования).

Внимание!

Программное обеспечение расширенного репозитория является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.

При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере). При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном или выделенном уровне МКЦ. Подробнее см. Руководство по КСЗ в составе эксплуатационной документации используемого обновления.

Что такое LXC

Общая информация

LXC — это система контейнерной изоляции на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы на одном узле.

  • LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком;
  • Все экземпляры LXC используют один экземпляр ядра операционной системы;
  • LXC основана на технологии cgroups, входящей в ядро ОС;

Известная проблема доступа к ядру ОС, когда root-пользователь LXC-контейнера может выполнить произвольный код в родительской операционной системе (за счёт того, что uid 0 внутри контейнера совпадает с uid 0 базовой системы) решена введением (в версиях LXC начиная с 1.0) «непривилегированных контейнеров», где uid 0 в контейнере соответствует непривилегированному пользователю снаружи, и имеет расширенные права только на свои ресурсы.

Механизм cgroups (control group) — механизм ядра ОС, ограничивающий и изолирующий вычислительные ресурсы (процессорные, сетевые, ресурсы памяти, ресурсы ввода-вывода) для групп процессов.
Механизм позволяет образовывать иерархические группы процессов с заданными ресурсными свойствами, и обеспечивает программное управление ими.

Механизм cgroups предоставляет единый программный интерфейс к целому спектру средств управления процессами, начиная с контроля единичного процесса, и вплоть до полной виртуализации на уровне системы LXC.

Механизм cgroups предоставляет следующие возможности:

  • ограничение ресурсов (resource limiting): использование памяти, в том числе виртуальной;

  • распределение ресурсов: разным группам можно выделить разное количество процессорного ресурса и пропускной способности подсистемы ввода-вывода;

  • учёт: подсчёт затрат тех либо иных ресурсов группой;

  • изоляцию: разделение пространств имён для групп таким образом, что одной группе недоступны процессы, сетевые соединения и файлы другой;

  • управление: приостановку (freezing) групп, создание контрольных точек (checkpointing) и их перезагрузку.

Оригинальная документация LXC

Оригинальная документация LXC доступна по ссылке: https://linuxcontainers.org/lxc/documentation/

Установка LXC

Для установки системы контейнерной изоляции LXC:

  1. Подключить репозитории:
    1. основной репозиторий и актуальное оперативное обновление основного репозитория;
    2. для обновлений, выпущенных до обновления Astra Linux Special Edition 1.8 — актуальное оперативное обновление базового репозитория (не требуется для установки самого lxc, однако в дальнейшем может потребоваться для создания контейнеров);
    3. актуальное оперативное обновление расширенного репозитория;

  2. Обновить список пакетов:

    sudo apt update

  3. Установить пакет lxc:

    sudo apt install lxc lxc-astra

Подробнее про работу с LXC см.: