A Microsoft közzétette az Azure Linux 3.0 új ágának első stabil frissítését, amely korábban CBL-Mariner néven volt ismert. A disztribúció egy általános alapplatformként fejlődik a felhőinfrastruktúrákban, edge rendszerekben és különböző Microsoft szolgáltatásokban használt Linux környezetek számára. A projekt célja a Microsoftnál használt Linux megoldások egységesítése és a különböző célú Linux rendszerek aktuális állapotban tartásának egyszerűsítése. A projekt eredményei MIT licenc alatt kerülnek közzétételre. A csomagok összeállítása a aarch64 és x86_64 architektúrákra történik. A telepítő képfájl mérete 740 MB.
Az új verzióban található változások:
- A Linux kernel frissítve lett a 6.6 verzióra (korábban 5.15 kernel volt használatban). Új funkcióként bevezetésre került a live patching támogatása, amely lehetővé teszi a kernel sebezhetőségek javítását újraindítás nélkül.
- Új csomagverziók kerültek bemutatásra, köztük a 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, kunc 1.1.12, ostree 2024.5, rust 1.75, Perl 5.38, Python 3.12.3, QEMU 8.2.0.
- A SELinux kötelező hozzáférés-ellenőrző rendszere alapértelmezés szerint "enforcing" módra váltott.
- Alapértelmezés szerint aktiválva van az egységes cgroups v2 hierarchia. A cgroups v2 legfontosabb különbsége a v1-től az, hogy közös hierarchiát alkalmaz mindenféle forráshoz, a CPU erőforrások felosztására, a memóriafogyasztás szabályozására és az I/O kezelése érdekében.
- Új eszközök kerültek hozzáadásra más disztribúciók (OSsku In-Place Migration) cseréjére a Microsoft Azure felhőcsomópontjain, például az Ubuntu telepített példányok Azure Linuxra történő cseréje.
- Új NVIDIA GPU-k, mint az A100 és H100 hozzáadása mellett pedig az NVIDIA GPU Operator is elérhető, amely automatizálja a NVIDIA driverek kezelését az Azure Linuxot futtató csomópontokon.
Az Azure Linux disztribúció egy kisméretű, tipikus alapcsomagot biztosít, amely univerzális alapként szolgál konténerek, host környezetek és felhőinfrastruktúrákban, valamint edge eszközökön futó szolgáltatások létrehozásához. Bonyolultabb és speciális megoldások további csomagok Azure Linuxra történő telepítésével állíthatók össze, de az ilyen rendszerek alapja változatlan marad, ami megkönnyíti a karbantartást és a frissítések előkészítését.
Például az Azure Linux alapként szolgál a WSLg mini-disztribúciójában, ahol grafikus stack komponensek állnak rendelkezésre Linux GUI-alkalmazások futtatásához WSL2 (Windows Subsystem for Linux) alapú környezetekben. A WSLg kibővített funkcionalitása további csomagok integrálásával valósul meg a kompozit szerverrel Weston, XWayland, PulseAudio és FreeRDP.
A szolgáltatások és a rendszerindítás kezelésére a systemd rendszerkezelőt használják. A csomagkezeléshez RPM és DNF csomagkezelők állnak rendelkezésre. Az SSH-szerver alapértelmezés szerint nem aktiválódik. A disztribúció telepítéséhez egy telepítő áll rendelkezésre, amely működhet szöveges és grafikus módokban is. A telepítőben lehetőség van a telepítés teljes vagy alap csomagkészlettel, valamint felhasználói név, diszkpartíció kiválasztására.
Az Azure Linux build rendszer lehetővé teszi egyedi RPM-csomagok generálását SPEC-fájlok és forráskódok alapján, valamint monolitikus rendszerképek létrehozását az rpm-ostree eszközkészlettel, amely atomikus frissítést tesz lehetővé anélkül, hogy külön csomagokra bontanánk. Ennek megfelelően két frissítési modellt támogat: külön csomagok frissítése és az egész rendszerkép újraépítése és frissítése. Elérhető egy tároló, amely körülbelül 3000 már összeállított RPM-csomagot tartalmaz, és amelyet saját képek összeállításához használhat, konfigurációs fájl alapján.
Az alap platform csak a legszükségesebb összetevőket tartalmazza, és minimalizált memóriá- és lemezfelhasználásra, valamint gyors rendszerindításra optimalizált. A projekt a 'maximális biztonság alapértelmezettként' megközelítést alkalmazza, ami különböző további mechanizmusok integrálását foglalja magában a védelem növelése érdekében:
- Rendszerv calls szűrése a seccomp mechanizmus segítségével.
- Lemezpartíciók titkosítása.
- Csomagok ellenőrzése digitális aláírás alapján.
- Címzés terének randomizálása.
- Védelem a szimbolikus linkekkel, mmap-pel, /dev/mem és /dev/kmem kapcsolatos támadások ellen.
- Csak olvasási mód és kód végrehajtásának tilalma a memória területein, ahol a kernel és modulok adat szegmensei találhatók.
- Lehetőség a kernemodulok betöltésének letiltására a rendszer inicializálása után.
- Az iptables használata a hálózati csomagok szűrésére.
- A verem túlcsordulás, a puffer túlcsordulás és a formázási problémák elleni védelmi módok engedélyezése a fordítás során (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Forrás: opennet.ru
