Azure Linux
Розробник | Microsoft |
---|---|
Випущено у виробництво | 2020 |
Репозиторій | |
Ліцензія | GNU GPL і MIT |
microsoft.github.io/CBL-Mariner/docs/ |
Azure Linux — дистрибутив Linux, який розробляє компанія Microsoft. До березня 2024 року був відомий як CBL-Mariner (англ. Common Base Linux).[1]
Дистрибутив Azure Linux надає невеликий типовий набір основних пакунків, які є універсальною основою для створення начинки контейнерів, хост-оточень і сервісів, що запускаються в хмарних інфраструктурах і на edge-пристроях. Більш складні та спеціалізовані рішення можуть створюватись шляхом додавання додаткових пакунків поверх Azure Linux, але основа для всіх подібних систем залишається незмінною, що спрощує супровід та підготовку оновлень.
Azure Linux застосовується як основа міні-дистрибутива WSLg, в якому надаються компоненти графічного стека для організації запуску GUI-застосунків Linux в оточеннях на базі підсистеми WSL2 (Windows Subsystem for Linux). Розширена функціональність WSLg реалізується через включення додаткових пакунків з композитним сервером Weston, XWayland, PulseAudio і FreeRDP.
Для управління сервісами та завантаженням застосовується системний менеджер systemd. Для керування пакунками постачаються пакетні менеджери RPM та DNF. SSH-сервер за замовчуванням не вмикається. Для встановлення дистрибутива надається інсталятор, який може працювати як у текстовому, так і у графічному режимах. В інсталяторі надається можливість встановлення з повним або базовим набором пакунків, пропонується інтерфейс для вибору дискового розділу, вибору імені хоста та створення користувачів.
Система складання Azure Linux дозволяє генерувати як окремі RPM-пакунки на основі SPEC-файлів та сирцевих текстів, так і монолітні системні образи, що формуються за допомогою інструментарію rpm-ostree та оновлюються атомарно без розбивки на окремі пакунки. Відповідно, підтримується дві моделі доставки оновлень: через оновлення окремих пакетів та через перебудову та оновлення всього системного образу. Доступний репозиторій, що включає близько 3000 вже зібраних пакунків RPM, який можна використовувати для компонування власних образів на основі файлу конфігурації.
Базова платформа включає тільки необхідні компоненти і оптимізована для мінімального споживання пам'яті і дискового простору, а також для високої швидкості завантаження. У проекті застосовується підхід "максимальна безпека за умовчанням", який передбачає включення різних додаткових механізмів для підвищення захисту:
- Фільтрування системних викликів за допомогою механізму seccomp.
- Шифрування дискових розділів.
- Верифікація пакунків із цифрового підпису.
- Рандомізація адресного простору.
- Захист від атак, пов'язаних із символічними посиланнями, mmap, /dev/mem та /dev/kmem.
- Режим тільки для читання та заборони виконання коду в областях пам'яті, в яких розміщуються сегменти з даними ядра та модулів.
- Опція заборони завантаження модулів ядра після ініціалізації системи.
- Використання IPTABLE для фільтрації мережних пакетів.
- Включення при складанні режимів захисту від переповнення стека, переповнень буфера та проблем із форматуванням рядків (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Microsoft позиціонує даний дистрибутив як зручну платформу для запуску Microsoft Azure, зокрема системи керування контейнерами Kubernetes.[2]
Після інсталяції за замовчуванням встановлена ОС містить лише мінімальний набір програм — таких, як coreutils, bash і програми керування контейнерами.
Дистрибутив використовує формат пакунків RPM (як у Fedora чи Red Hat Enterprise Linux). Менеджером пакунків за замовчуванням є tdnf
.[3]
Azure Linux і похідні дистрибутиви використовуються у різних внутрішніх проєктах Microsoft, наприклад у Azure Kubernetes Services (включно з версією HCI, англ. hyper-converged infrastructure).[3]
- ↑ Larabel, Michael (5 березня 2024). Microsoft Rebranding CBL-Mariner Linux Distribution To "Azure Linux". phoronix (англ.).
- ↑ Foley, Mary Jo (11 листопада 2020). CBL-Mariner: Microsoft's internal Linux distribution for Azure first-party services and edge appliances. ZDNet (англ.).
- ↑ а б CBL-Mariner Documentation (англ.). Microsoft.