Compania Microsoft a lansat o actualizare a distribuției Azure Linux 3.0.20241203. Această distribuție se dezvoltă ca o platformă de bază versatilă pentru medii Linux utilizate în infrastructura cloud, sisteme edge și diverse servicii Microsoft. Contribuțiile proprii ale proiectului sunt distribuite sub licența MIT. Pachetele sunt generate pentru arhitecturile aarch64 și x86_64. Dimensiunea imaginii de instalare este de 750 MB.
Printre modificările din noua versiune:
- Filtrul de pachete iptables a fost adaptat pentru a gestiona comenzile prin transpunerea regulilor în bytecode nftables (în mod implicit, pachetul iptables-nft este utilizat în loc de iptables-legacy).
- Pentru sistemele Aarch64, a fost propus un pachet suplimentar cu kernelul kernel-64k, care utilizează pagini mari de memorie cu dimensiunea de 64KB (kernelul este compilat cu opțiunea CONFIG_ARM64_64K_PAGES).
- În managerul de pachete tdnf (echivalent cu dnf bazat pe C libs), a fost adăugată suportul pentru configurarea „installonlypkgs”, care este utilizată pentru organizarea instalării kernelului kernel-64k.
- Când se utilizează systemd-networkd, a fost activată gestionarea livenet rootfs din Dracut.
- A fost adăugat un driver pentru adaptorii de rețea Intel Ethernet Connection E800.
- În procesorul de loguri fluent-bit a fost inclus suport pentru limbajul Lua.
- A fost activată verificarea semnăturii digitale pentru kerneluri, încărcate prin mecanismul kexec.
- Pentru identificarea imaginilor containerelor, în locul verificării fișierului "/.dockerenv", este utilizată utilitarul systemd-detect-virt.
- Versiunile pachetelor au fost actualizate, printre care kernelul 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.
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.
Azure Linux este utilizat ca bază pentru mini-distribuția WSLg, în care sunt furnizate componentele stivei grafice pentru a permite rularea aplicațiilor GUI Linux în medii bazate pe subsistemul WSL2 (Windows Subsystem for Linux). Funcționalitatea extinsă în WSLg este realizată prin includerea pachetelor 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
