Compania Microsoft a publicat prima actualizare stabilă a noului ramură a distribuției Azure Linux 3.0, care anterior era distribuită sub numele CBL-Mariner. Distribuția se dezvoltă ca o platformă de bază versatilă pentru mediile Linux utilizate în infrastructura cloud, sistemele edge și diferitele servicii Microsoft. Proiectul vizează unificarea soluțiilor Linux utilizate de Microsoft și simplificarea menținerii sistemelor Linux de diverse tipuri la zi. Dezvoltările proiectului sunt distribuite sub licența MIT. Pachetele sunt disponibile pentru arhitecturile aarch64 și x86_64. Dimensiunea imaginii de instalare este de 740 MB.
Printre modificările din noua versiune:
- Nucleul Linux a fost actualizat la versiunea 6.6 (anterior a fost utilizat nucleul 5.15). A fost adăugată suportul pentru aplicarea patch-urilor pe nucleul în funcțiune (live patching), ceea ce permite remedierea vulnerabilităților din nucleu fără a necesita o repornire.
- Au fost propuse versiuni noi ale pachetelor, printre care 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.
- Sistemul de control al accesului SELinux a fost setat în mod implicit în modul „enforcing”.
- Prin default, este activată ierarhia unificată cgroups v2. Principala diferență dintre cgroups v2 și v1 este utilizarea unei ierarhii comune cgroups pentru toate tipurile de resurse, în loc de ierarhii separate pentru distribuirea resurselor CPU, pentru reglementarea consumului de memorie și pentru intrare/ieșire.
- Au fost adăugate instrumente pentru migrarea altor distribuții (OSsku In-Place Migration) pe nodurile din cloud-ul Microsoft Azure, de exemplu, este posibil să înlocuiți Ubuntu instalat cu Azure Linux.
- A fost adăugat suport pentru GPU-uri NVIDIA noi, cum ar fi NVIDIA A100 și H100, și de asemenea, a fost oferit NVIDIA GPU Operator pentru automatizarea gestionării driverelor NVIDIA pe nodurile cu Azure Linux.
Distribuția Azure Linux oferă un set mic standard de pachete de bază, care constituie o fundație universală pentru crearea umpluturii containerelor, a mediilor gazdă și a serviciilor care rulează în infrastructuri cloud și pe dispozitive edge. Soluții mai complexe și specializate pot fi create prin adăugarea de pachete suplimentare peste Azure Linux, dar fundația pentru toate aceste sisteme rămâne neschimbată, ceea ce simplifică întreținerea și pregătirea actualizărilor.
De exemplu, Azure Linux este utilizat ca bază pentru mini-distribuția WSLg, care oferă componentele stivei grafice pentru a organiza rularea aplicațiilor GUI Linux în medii bazate pe subsistemul WSL2 (Windows Subsystem for Linux). Funcționalitatea extinsă în WSLg este realizată prin includerea de pachete suplimentare cu compozit. serverul Weston, XWayland, PulseAudio și FreeRDP.
Pentru gestionarea serviciilor și a încărcării se utilizează managerul de sistem systemd. Pentru gestionarea pachetelor sunt furnizate manageri de pachete RPM și DNF. Serverul SSH nu este activat implicit. Pentru instalarea distribuției este disponibil un instalator, care poate funcționa atât în modul text, cât și în modul grafic. Instalatorul oferă opțiunea de instalare cu un set complet sau de bază de pachete, oferind o interfață pentru alegerea partiției de disc, alegerea numelui gazdă și crearea utilizatorilor.
Sistemul de compilare Azure Linux permite generarea atât a pachetelor RPM individuale pe baza fișierelor SPEC și a codului sursă, cât și a imaginilor sistemului monolitice, formate cu ajutorul instrumentului rpm-ostree și actualizate atomic fără a fi desfăcute în pachete separate. Prin urmare, sunt susținute două modele de livrare a actualizărilor: prin actualizarea pachetelor individuale și prin reconstrucția și actualizarea întregii imagini de sistem. Este disponibil un depozit care include aproximativ 3000 de pachete RPM deja compilate, care pot fi utilizate pentru a compune propriile imagini bazate pe fișierul de configurare.
Platforma de bază include doar cele mai necesare componente și este optimizată pentru un consum minim de memorie și spațiu pe disc, precum și pentru o viteză de încărcare ridicată. În proiect se aplică o abordare de „maximă securitate implicită”, care implică activarea diferitelor mecanisme suplimentare pentru creșterea protecției:
- Filtrarea apelurilor de sistem utilizând mecanismul seccomp.
- Criptarea partițiilor de disc.
- Verificarea pachetelor prin semnătură digitală.
- Randomizarea spațiului de adrese.
- Protecția împotriva atacurilor legate de linkuri simbolice, mmap, /dev/mem și /dev/kmem.
- Modul doar pentru citire și interzicerea executării codului în zonele de memorie în care sunt plasate segmentele cu datele nucleului și modulelor.
- Opțiunea de a interzice încărcarea modulelor nucleului după inițializarea sistemului.
- Utilizarea iptables pentru filtrarea pachetelor de rețea.
- Activarea în timpul compilării a modurilor de protecție împotriva suprascrierii stivei, suprascrierilor de buffer și problemelor cu formatarea șirurilor (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Sursa: opennet.ro
