Spoločnosť Microsoft publikovala aktualizáciu distribúcie Azure Linux 3.0.20241203. Distribúcia sa vyvíja ako univerzálna základná platforma pre Linuxové prostredia používané v cloudovej infraštruktúre, edge systémoch a rôznych službách Microsoftu. Vlastné výstupy projektu sú distribuované pod licenciou MIT. Balíky sú zostavené pre architektúry aarch64 a x86_64. Veľkosť inštalačného obrazu je 750 MB.
Medzi zmenami v novej verzii:
- Balíčkový filter iptables bol preložený na spracovanie príkazov cez transláciu pravidiel do bytekódu nftables (podľa predvoleného nastavenia je namiesto iptables-legacy použitý balík iptables-nft).
- Pre systémy Aarch64 bol navrhnutý dodatočný balík s jadrom kernel-64k, ktorý využíva veľké stránky pamäte, s veľkosťou 64 KB (jadro je zostavené s možnosťou CONFIG_ARM64_64K_PAGES).
- Do balíkového správcu tdnf (analóg dnf založený na C libs) bola pridaná podpora pre nastavenie „installonlypkgs“, ktoré sa používa na organizovanie inštalácie jadra kernel-64k.
- Pri používaní systemd-networkd je zapnuté spracovanie livenet rootfs z Dracutu.
- Pridananý ovládač pre sieťové adaptéry Intel Ethernet Connection E800.
- Do spracovateľa logov fluent-bit bola pridaná podpora pre jazyk Lua.
- Je zapnutá kontrola digitálneho podpisu jadier, ktoré sa načítavajú cez mechanizmus kexec.
- Na určenie zostáv kontajnerov namiesto kontroly súboru „/.dockerenv“ bola použitá utilita systemd-detect-virt.
- Aktualizované verzie balíkov, medzi ktorými je jadro Linux 6.6.57, shim 15.8, SymCrypt 103.6.0, Valkey (fork Redis) 8.0.1, Go 1.23.3, MariaDB 10.11.10, PostgreSQL 16.5.
Distribúcia Azure Linux poskytuje malý typový balíček základných balíkov, ktoré slúžia ako univerzálny základ pre vytváranie obsahu kontajnerov, hostiteľských prostredí a služieb, ktoré sa spúšťajú v cloudových infraštruktúrach a na edge zariadeniach. Zložitejšie a špecializované riešenia môžu byť vytvárané pridaním ďalších balíkov na Azure Linux, avšak základ pre všetky takéto systémy zostáva nezmenený, čo zjednodušuje údržbu a prípravu aktualizácií.
Azure Linux sa používa ako základ mini-distribúcie WSLg, v ktorej sú poskytované komponenty grafického stacku na spustenie GUI aplikácií Linux na prostrediach založených na subsystéme WSL2 (Windows Subsystem for Linux). Rozšírená funkcionalita v WSLg je realizovaná prostredníctvom zahrnutia dodatočných balíkov s kompozitom. serverom Weston, XWayland, PulseAudio a FreeRDP.
Na správu služieb a načítania sa používa systémový správca systemd. Na správu balíkov sa dodávajú balíkové správcovia RPM a DNF. SSH server nie je predvolene zapnutý. Na inštaláciu distribúcie je k dispozícii inštalačný program, ktorý môže fungovať v textovom aj grafickom režime. V inštalačnom programe je k dispozícii možnosť inštalácie s plnou alebo základnou sadou balíkov, ponúka rozhranie na výber diskovej partition, výber názvu hostiteľa a vytvorenie používateľov.
Systém zostavovania Azure Linux umožňuje generovať ako samostatné RPM balíčky na základe SPEC súborov a zdrojových textov, tak aj monolitné systémové obrazy, ktoré sa formujú pomocou nástroja rpm-ostree a aktualizujú atomicky bez rozdelenia na jednotlivé balíčky. Preto sú podporované dva modely dodávania aktualizácií: prostredníctvom aktualizácie jednotlivých balíčkov a prostredníctvom prestavby a aktualizácie celého systémového obrazu. K dispozícii je repozitár, ktorý obsahuje približne 3000 už zostavených RPM balíčkov, ktorý možno použiť na zostavovanie vlastných obrazov na základe konfiguračného súboru.
Základná platforma obsahuje iba najpotrebnejšie komponenty a je optimalizovaná pre minimálnu spotrebu pamäte a diskového priestoru, ako aj pre vysokú rýchlosť spúšťania. V projekte sa uplatňuje prístup »maximálna bezpečnosť predvolene«, čo znamená aktiváciu rôznych dodatočných mechanizmov na zvýšenie ochrany:
- Filter systémových volaní pomocou mechanizmu seccomp.
- Šifrovanie diskových oddielov.
- Overenie balíčkov pomocou digitálneho podpisu.
- Randomizácia adresného priestoru.
- Ochrana proti útokom súvisiacim so symbolickými odkazmi, mmap, /dev/mem a /dev/kmem.
- Režim len na čítanie a zákaz vykonávania kódu v oblastiach pamäte, kde sú umiestnené segmenty s údajmi jadra a modulov.
- Možnosť zakázať načítanie modulov jadra po inicializácii systému.
- Použitie iptables na filtrovanie sieťových paketov.
- Zahrnutie režimov ochrany pred pretečením zásobníka, pretečením buffera a problémami s formátovaním reťazcov pri zostavovaní (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Zdroj: opennet.ru
