Microsoft развивает дистрибутив общего назначения Azure Linux 4 на базе Fedora Linux

Компания Microsoft опубликовала наработки, связанные с дистрибутивом Azure Linux 4, который по сравнению с веткой 3.0 кардинально переработан и переведён с собственной пакетной базы на использование пакетов из дистрибутива Fedora 43. Если ранее Azure Linux позиционировался как платформа для Linux-окружений, используемых в облачной инфраструктуре, edge-системах и различных сервисах Microsoft, то теперь Azure Linux преподносится как защищённая и надёжная операционная система общего назначения, оптимизированная для облака Azure, которую можно использовать в виртуальных машинах, контейнерах, окружении WSL (Windows Subsystem Linux) и в качестве основной ОС на компьютерах.

Ветка Azure Linux 4 отмечена как находящаяся в процессе разработки. Для рабочих внедрений рекомендуется использовать ветку Azure Linux 3. Готовые сборки пока не предоставляются, но имеется инструкция по сборке. Специфичные для дистрибутива изменения поставляются под лицензией MIT.

При формировании дистрибутива вместо создания форка Fedora в Azure Linux 4 применён декларативный подход, позволяющий пересобирать RPM-пакеты с необходимыми изменениями и настройками из штатных репозиториев Fedora, используя конфигурационные файлы в формате TOML. Дополнительная функциональность определяется в форме оверлеев, позволяющих генерировать специфичные для Azure Linux spec-файлы пакетов на основе штатных SRPM-пакетов из Fedora Linux. Оверлеи определяют изменения, вносимые поверх пакетов Fedora, такие как дополнительные конструкции в spec-файлах, патчи и параметры сборки.

Пакетной единицей в Azure Linux 4 являются «компоненты» (исходный пакет), которые по большей части импортируются из Fedora через dist-git и могут формировать один или несколько RPM-пакетов. Все компоненты собираются из исходного кода, бинарные пакеты из Fedora не переносятся. Для генерации результирующих RPM-пакетов на основе оверлеев применяется инструментарий azldev, написанный на языке Go и поставляемый под лицензией MIT.

Из особенностей Azure Linux 4 отмечается поставка ядра Linux с дополнительными оптимизациями, защита от атак через зависимости (supply chain), предсказуемый цикл поддержки и выпуска обновлений, встроенные возможности для интеграции с облаком Azure, изменения для усиления безопасности. Система сборки Azure Linux позволяет генерировать как установочные окружения с RPM-пакетами, так и монолитные системные образы, формируемые при помощи инструментария rpm-ostree и обновляемые атомарно без разбивки на отдельные пакеты. Поддерживается две модели доставки обновлений: через обновление отдельных пакетов и через перестроение и обновление всего системного образа.

Из применяемых в Azure Linux мер по повышению безопасности:

  • Фильтрация системных вызовов при помощи механизма seccomp.
  • Шифрование дисковых разделов.
  • Верификация пакетов по цифровой подписи.
  • Рандомизация адресного пространства.
  • Защита от атак, связанных с символическими ссылками, mmap, /dev/mem и /dev/kmem.
  • Режим только для чтения и запрет исполнения кода в областях памяти, в которых размещаются сегменты с данными ядра и модулей.
  • Опция для запрета загрузки модулей ядра после инициализации системы.
  • Включение при сборке режимов защиты от переполнения стека, переполнений буфера и проблем с форматированием строк (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
  • Поставка минимально необходимых пакетов, без активации лишних сервисов.

Источник: http://www.opennet.ru/opennews/art.shtml?num=65479