Microsoft har publicerat den första stabila uppdateringen av den nya versionen av distributionen Azure Linux 3.0, som tidigare gick under namnet CBL-Mariner. Distributionen utvecklas som en universell basplattform för Linux-miljöer som anvÀnds i molninfrastruktur, edge-system och olika tjÀnster frÄn Microsoft. Projektet syftar till att enhetliggöra de Linux-lösningar som anvÀnds av Microsoft och förenkla underhÄllet av Linux-system av olika slag. Projektets resultat publiceras under MIT-licensen. Paketbyggnaderna skapas för arkitekturerna aarch64 och x86_64. Storleken pÄ installationsavbilden Àr 740 MB.
Bland förÀndringarna i den nya versionen:
- Linux-kÀrnan har uppdaterats till version 6.6 (tidigare anvÀndes kÀrna 5.15). Stöd för att applicera patchar pÄ den aktiva kÀrnan (live patching) har lagts till, vilket gör det möjligt att ÄtgÀrda sÄrbarheter i kÀrnan utan att behöva starta om.
- Nya versioner av paket har föreslagits, inklusive 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.
- Systemet för obligatorisk Ätkomstkontroll SELinux har som standard stÀllts in i lÀge "enforcing."
- Som standard anvÀnds en enhetlig hierarki av cgroups v2. Den största skillnaden mellan cgroups v2 och v1 Àr anvÀndningen av en gemensam hierarki av cgroups för alla typer av resurser, istÀllet för separata hierarkier för att fördela CPU-resurser, reglera minnesanvÀndning och för in-/utdata.
- Verktyg för att ersÀtta andra distributioner (OSsku In-Place Migration) pÄ noder i Microsoft Azure-molnet har lagts till, till exempel Àr det möjligt att ersÀtta installerad Ubuntu med Azure Linux.
- Stöd för nya NVIDIA GPU:er, sÄsom NVIDIA A100 och H100, har lagts till, samt tillhandahÄlls NVIDIA GPU Operator för automatisering av hantering av NVIDIA-drivrutiner pÄ noder med Azure Linux.
Azure Linux-distributionen tillhandahÄller en liten uppsÀttning grundpaket som utgör en universell grund för att skapa fyllning av containrar, vÀrdmiljöer och tjÀnster som körs i molninfrastrukturer och pÄ edge-enheter. Mer avancerade och specialiserade lösningar kan skapas genom att lÀgga till ytterligare paket ovanpÄ Azure Linux, men grunden för alla sÄdana system förblir oförÀndrad, vilket förenklar underhÄll och beredning av uppdateringar.
Till exempel anvÀnds Azure Linux som grund för mini-distributionen WSLg, dÀr komponenter för det grafiska systemet tillhandahÄlls för att köra GUI-applikationer i miljöer baserade pÄ WSL2 (Windows Subsystem for Linux). Utökad funktionalitet i WSLg implementeras genom att inkludera ytterligare paket med komposit. servern Weston, XWayland, PulseAudio och FreeRDP.
Systemhantering av tjÀnster och belastning sker med hjÀlp av systemchefen systemd. Paketbehandling görs med pakethanterare som RPM och DNF. SSH-servern Àr inte aktiverad som standard. Installationsprogrammet för distributionen kan köras i bÄde text- och grafiska lÀgen. Installationsprogrammet erbjuder möjlighet att installera med ett fullstÀndigt eller grundlÀggande paketutbud, samt ett grÀnssnitt för att vÀlja diskpartition, vÀrdnamn och skapa anvÀndare.
Byggsystemet Azure Linux tillÄter generering av bÄde individuella RPM-paket baserat pÄ SPEC-filer och kÀllkod, samt monolitiska systemavbilder som skapas med hjÀlp av verktyget rpm-ostree och uppdateras atomiskt utan att delas upp i separata paket. DÀrmed stöds tvÄ modeller för leverans av uppdateringar: genom uppdatering av individuella paket och genom ombyggnad och uppdatering av hela systemavbilden. Ett arkiv finns tillgÀngligt som innehÄller cirka 3000 redan byggda RPM-paket, vilket kan anvÀndas för att kompilera egna avbilder baserat pÄ en konfigurationsfil.
Basplattformen omfattar endast de mest nödvÀndiga komponenterna och Àr optimerad för minimalt minnes- och diskbehov, samt hög startfart. Projektet tillÀmpar en strategi för "maximal sÀkerhet som standard", vilket innebÀr aktivering av olika tillÀggsmekanismer för att öka skyddet:
- Filtrering av systemanrop med hjÀlp av seccomp-mekanismen.
- Kryptering av diskpartitioner.
- Verifiering av paket med hjÀlp av digital signatur.
- Slumptalsgenerering av adressrymden.
- Skydd mot attacker relaterade till symboliska lÀnkar, mmap, /dev/mem och /dev/kmem.
- SkriftskyddslÀge och förbud mot exekvering av kod i minnesomrÄden dÀr kÀrn- och moduldata lagras.
- Alternativ för att förbjuda inladdning av kÀrnmoduler efter systeminitiering.
- AnvÀndning av iptables för filtrering av nÀtverkspaket.
- Aktivering av skyddslÀgen vid byggnation mot stacköversvÀmning, buffertöversvÀmning och formatproblem (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
KĂ€lla: opennet.ru
