Microsoft heeft een maandelijkse update van de Azure Linux-distributie 3.0.20260506 gepubliceerd. De distributie is ontwikkeld als een universeel basisplatform voor Linux-omgevingen die worden gebruikt in cloudinfrastructuur, edge-systemen en verschillende Microsoft-services. De eigen ontwikkelingen van het project worden verspreid onder de MIT-licentie. Pakketbuilds worden gemaakt voor de architecturen aarch64 en x86_64. De grootte van de installatiedistributie is 770 MB.
Onder de wijzigingen in de nieuwe versie:
- De pakketten ignition en rust-afterburn zijn toegevoegd aan de repository (SPECS en SPECS-EXTENDED).
- Het netwerkanalysetoolpakket Wireshark is opnieuw opgebouwd met ondersteuning voor de programmeertaal Lua.
- Bij het bouwen van het pakket met de kernel voor de architectuur arm64 is de optie CONFIG_IKCONFIG_PROC ingeschakeld, wat de mogelijkheid biedt om toegang te krijgen tot de buildconfiguratie van de huidige kernel via het bestand /proc/config.gz.
- De ondersteuning voor live-migratie in QEMU is verbeterd.
- De parameter extraMacrosFiles is toegevoegd aan het bestand PackageBuild.yml voor het doorgeven van extra macrobestanden tijdens het bouwen van het pakket.
- Er zijn tientallen kwetsbaarheden in verschillende pakketten verholpen.
- De versies van de kernel Linux 6.6.137.1, clamav 1.5.2, cloud-hypervisor 51.1.56, containerd2 2.1.6, cups 2.4.18, erlang 26.2.5.20, golang 1.26.2-1, libpng 1.6.57 en mysql 8.0.46 zijn bijgewerkt.
De Azure Linux-distributie biedt een kleine standaardset van basispakketten die fungeren als een universele basis voor het creëren van de inhoud van containers, host-omgevingen en services die draaien in cloudinfrastructuren en op edge-apparaten. Complexere en gespecialiseerde oplossingen kunnen worden opgesteld door extra pakketten bovenop Azure Linux toe te voegen, maar de basis voor al dergelijke systemen blijft onveranderd, wat het onderhoud en de voorbereiding van updates vereenvoudigt.
Azure Linux wordt gebruikt als basis voor de mini-distributie WSLg, waarin componenten van de grafische stack worden aangeboden voor het uitvoeren van GUI-toepassingen van Linux in omgevingen op basis van de WSL2 (Windows Subsystem for Linux). De uitgebreide functionaliteit in WSLg wordt gerealiseerd door het inschakelen van extra pakketten met de compositorserver Weston, XWayland, PulseAudio en FreeRDP.
Voor het beheer van services en laadtechnieken wordt de systeembeheerder systemd gebruikt. Voor het beheren van pakketten worden de pakketbeheerders RPM en DNF geleverd. De SSH-server is standaard niet ingeschakeld. Voor de installatie van de distributie is er een installer die zowel in tekst- als grafische modus kan werken. In de installer is er de mogelijkheid om een volledige of basisset van pakketten te installeren, evenals een interface voor het kiezen van de schijfpartitie, het kiezen van de hostnaam en het aanmaken van gebruikers.
Het Azure Linux build-systeem maakt het mogelijk om zowel afzonderlijke RPM-pakketten te genereren op basis van SPEC-bestanden en bronbestanden, als monolithische systeembeelden die worden gevormd met behulp van het rpm-ostree gereedschap en atomair worden bijgewerkt zonder te splitsen in afzonderlijke pakketten. Dienovereenkomstig worden twee modellen voor het leveren van updates ondersteund: via het bijwerken van afzonderlijke pakketten en via het herbouwen en bijwerken van het hele systeembeeld. Er is een repository beschikbaar met ongeveer 3000 reeds gebouwde RPM-pakketten die gebruikt kunnen worden voor het samenstellen van eigen beelden op basis van een configuratiebestand.
Het basisplatform omvat alleen de meest noodzakelijke componenten en is geoptimaliseerd voor een minimaal geheugen- en schijfruimteverbruik, evenals voor een hoge opstartsnelheid. In het project wordt een ‘maximale beveiliging standaard’ benadering toegepast, wat betekent dat verschillende aanvullende mechanismen worden ingeschakeld om de bescherming te verhogen:
- Filtering van systeemaanroepen met behulp van het seccomp-mechanisme.
- Versleuteling van schijfpartities.
- Verificatie van pakketten via digitale handtekeningen.
- Randomisatie van het adresruimte.
- Bescherming tegen aanvallen gerelateerd aan symbolische links, mmap, /dev/mem en /dev/kmem.
- Alleen-lezen modus en verbod op uitvoeren van code in geheugenruimtes waar de segmenten met kern- en modulegegevens zich bevinden.
- Optie om het laden van kernelmodules na systeeminitialisatie te verbieden.
- Het gebruik van iptables voor het filteren van netwerkpakketten.
- Inschakelen van bescherming tegen stack-overflows, buffer-overflows en format string-problemen bij het bouwen (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Bron: opennet.ru
