La società Microsoft ha rinominato la distribuzione CBL-Mariner in Azure Linux. In precedenza, il nome Azure Linux era usato per una build specializzata installata in Azure Kubernetes Service (AKS), mentre la piattaforma generale per la creazione di distribuzioni si sviluppava con il nome CBL-Mariner (Common Base Linux Mariner). Qualche giorno fa, Microsoft ha rinominato il repository CBL-Mariner in azurelinux, ha cambiato i nomi degli strumenti e ha sostituito il riferimento a CBL-Mariner nella documentazione con Azure Linux. Dopo ciò, è stata rilasciata la prima versione della piattaforma con il nuovo nome — Azure Linux 2.0.20240301, che ha risolto bug e vulnerabilità accumulate nelle applicazioni.
Il progetto mira a unificare le soluzioni Linux utilizzate in Microsoft e a semplificare la manutenzione dei sistemi Linux di vario tipo mantenendoli aggiornati. Tra le altre cose, la distribuzione è utilizzata nell'infrastruttura cloud, nei sistemi edge e in vari servizi Microsoft. I risultati del progetto sono distribuiti sotto licenza MIT. I pacchetti sono formati per le architetture aarch64 e x86_64. È stata preparata un'immagine ISO di avvio (860 MB) per l'architettura x86_64.
La distribuzione Azure Linux fornisce un piccolo insieme standard di pacchetti di base, che funge da base universale per creare il contenuto dei contenitori, ambienti host e servizi eseguiti in infrastrutture cloud e su dispositivi edge. Soluzioni più complesse e specializzate possono essere create aggiungendo pacchetti aggiuntivi sopra Azure Linux, ma la base per tutti questi sistemi rimane invariata, semplificando la manutenzione e la preparazione degli aggiornamenti.
Ad esempio, Azure Linux è utilizzato come base per il mini-distributivo WSLg, nel quale sono forniti componenti del stack grafico per consentire l'esecuzione di applicazioni GUI Linux in ambienti basati sulla sottosistema WSL2 (Windows Subsystem for Linux). Le funzionalità avanzate in WSLg sono realizzate tramite l'inclusione di pacchetti aggiuntivi con compositing. server Weston, XWayland, PulseAudio e FreeRDP.
Il sistema di build di Azure Linux consente di generare sia pacchetti RPM singoli basati su file SPEC e sorgenti di testo, sia immagini di sistema monolitiche, create utilizzando lo strumento rpm-ostree e aggiornate in modo atomico senza suddivisione in pacchetti singoli. Di conseguenza, sono supportati due modelli di distribuzione degli aggiornamenti: tramite l'aggiornamento di singoli pacchetti e tramite la ricostruzione e l'aggiornamento dell'intera immagine di sistema. È disponibile un repository che include circa 3000 pacchetti RPM già costruiti, che possono essere utilizzati per comporre immagini personalizzate basate su un file di configurazione.
La piattaforma di base include solo i componenti più necessari ed è ottimizzata per un minimo consumo di memoria e spazio su disco, oltre che per un'elevata velocità di avvio. Nel progetto si adotta l'approccio 'massima sicurezza di default', che implica l'attivazione di vari meccanismi aggiuntivi per aumentare la protezione:
- Filtraggio delle chiamate di sistema attraverso il meccanismo seccomp.
- Crittografia delle partizioni del disco.
- Verifica dei pacchetti tramite firma digitale.
- Randomizzazione dello spazio degli indirizzi.
- Protezione contro attacchi legati a link simbolici, mmap, /dev/mem e /dev/kmem.
- Modalità di sola lettura e divieto di esecuzione di codice in aree di memoria che ospitano segmenti con dati del kernel e moduli.
- Opzione per vietare il caricamento di moduli del kernel dopo l'inizializzazione del sistema.
- Utilizzo di iptables per il filtraggio dei pacchetti di rete.
- Attivazione durante la compilazione delle modalità di protezione contro lo straripamento dello stack, il bufferoverflow e problemi di formattazione delle stringhe (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Per la gestione dei servizi e del caricamento viene utilizzato il gestore di sistema systemd. Per la gestione dei pacchetti sono disponibili i gestori di pacchetti RPM e DNF. Il server SSH non è abilitato di default. Viene fornito un installatore per l'installazione della distribuzione, che può funzionare sia in modalità testuale che grafica. Nell'installer è possibile scegliere tra un'installazione completa o basica dei pacchetti, viene fornita un'interfaccia per la selezione della partizione del disco, la scelta del nome host e la creazione di utenti.
Oltre ai cambiamenti legati a CBL-Mariner e Azure Linux, Microsoft ha anche presentato un nuovo rilascio della piattaforma Azure Sphere 24.03, basata su un kernel Linux e destinata alla creazione di dispositivi per l'Internet delle Cose basati su microcontrollori (MCU, microcontroller unit) ad alta efficienza energetica con subsistemi periferici integrati. Una delle caratteristiche della piattaforma è il sottosistema Pluton, progettato per fornire mezzi hardware per la crittografia, l'archiviazione di chiavi private e l'esecuzione di operazioni crittografiche complesse. Pluton include un processore specializzato separato, un motore crittografico, un generatore hardware di numeri casuali e uno spazio di archiviazione delle chiavi isolato.
Fonte: opennet.ru
