Microsoft ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» дистрибутив Azure Linux 3.0

Компания Microsoft ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ дистрибутива Azure Linux 3.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ распространялся ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ CBL-Mariner. Дистрибутив развиваСтся Π² качСствС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Linux-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ инфраструктурС, edge-систСмах ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрвисах Microsoft. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ примСняСмых Π² Microsoft Linux-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ поддСрТания Linux-систСм Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ назначСния Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘Π±ΠΎΡ€ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ aarch64 ΠΈ x86_64. Π Π°Π·ΠΌΠ΅Ρ€ установочного ΠΎΠ±Ρ€Π°Π·Π° 740 ΠœΠ‘.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π―Π΄Ρ€ΠΎ Linux ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π΄ΠΎ вСрсии 6.6 (Ρ€Π°Π½Π΅Π΅ использовалось ядро 5.15). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° налоТСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ядро (live patching), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ уязвимости Π² ядрС Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… systemd 255, glibc 2.38, GCC 13.2, clang 18.1, OpenSSL 3.3, rpm 4.18.2, ruby 3.3.0, BIND 9.20, containerd 1.7.13, ΠΊunc 1.1.12, ostree 2024.5, rust 1.75, Perl 5.38, Python 3.12.3, QEMU 8.2.0.
  • БистСма ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ контроля доступа SELinux ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌ «enforcing».
  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задСйствована унифицированная иСрархия cgroups v2. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ cgroups v2 ΠΎΡ‚ v1 являСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ cgroups для всСх Π²ΠΈΠ΄ΠΎΠ² рСсурсов, вмСсто Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ для распрСдСлСния рСсурсов CPU, для рСгулирования потрСблСния памяти ΠΈ для Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ инструмСнты для Π·Π°ΠΌΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивов (OSsku In-Place Migration) Π½Π° ΡƒΠ·Π»Π°Ρ… Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Microsoft Azure, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ установлСнный Ubuntu Π½Π° Azure Linux.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… GPU NVIDIA, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ NVIDIA A100 ΠΈ H100, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставлСн NVIDIA GPU Operator для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ управлСния Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ NVIDIA Π½Π° ΡƒΠ·Π»Π°Ρ… с Azure Linux.

Дистрибутив 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.
  • Π Π΅ΠΆΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ исполнСния ΠΊΠΎΠ΄Π° Π² областях памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ сСгмСнты с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ядра ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • ΠžΠΏΡ†ΠΈΡ для Π·Π°ΠΏΡ€Π΅Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы.
  • ИспользованиС iptables для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ сСтСвых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ сборкС Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ пСрСполнСния стСка, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ строк (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru