Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Linux è una distribuzione Linux gestita da Microsoft basata sull'ecosistema Fedora e ottimizzata per Azure. Questo articolo illustra come Azure Linux è strutturato, cosa include per impostazione predefinita e dove disegna intenzionalmente i limiti.
Annotazioni
Azure Linux 4.0 è ora disponibile in preview ed è strettamente limitato a scopi di valutazione e test. Non è adatto per l'uso in produzione.
Relazione tra Azure Linux e Fedora
Azure Linux deriva da Fedora e usa lo stesso ecosistema di pacchetti basato su RPM. Hai la familiarità di dnf5, gli strumenti di build di Fedora (mock, fedpkg, koji, kiwi) e le moderne toolchain del compilatore, tutti derivati da Fedora upstream. Oltre a questa base, Microsoft aggiunge Azure protezione avanzata specifica, un kernel personalizzato e un ciclo di vita gestito adatto per i carichi di lavoro cloud.
Il kernel viene fornito come versione 6.18 LTS, esteso con driver guest Hyper-V, ottimizzazione delle prestazioni Azure specifica e protezione avanzata convalidata negli SKU di macchine virtuali Azure.
Architettura a più livelli
Azure Linux usa un modello a più livelli. Ogni livello si basa su quello sottostante, dall'hardware e dal firmware alla base fino ai carichi di lavoro nella parte superiore.
Livello del kernel
Il kernel Azure Linux personalizzato include driver guest Hyper-V, patch di protezione avanzata e ottimizzazioni delle prestazioni ottimizzate per l'infrastruttura Azure. È possibile scegliere tra i kernel Long-Term Support (LTS) per una maggiore stabilità oppure i kernel Hardware Enablement (HWE) per il supporto di nuovo hardware e delle GPU. Per informazioni dettagliate, vedere Frequenza di rilascio e ciclo di vita .
Livello del sistema operativo principale
Questo livello fornisce il filesystem root minimo: systemd per la gestione dei servizi, glibc come libreria di runtime del C e OpenSSL per la crittografia. Si tratta di componenti di livello 1, ovvero sono bloccati per la durata di una versione principale e ricevono solo backport di sicurezza. In questo modo, l'interfaccia binaria dell'applicazione (ABI) rimane stabile e il comportamento prevedibile.
Livello dei pacchetti dello spazio utente
I runtime del linguaggio (Python, Go, Rust, Node.js), gli strumenti dei contenitori e le dipendenze dell'applicazione sono disponibili qui. I pacchetti di livello 1 sono bloccati per la stabilità. I pacchetti di livello 2 vengono aggiornati in base a una cadenza prevedibile. Per altre informazioni, vedere Frequenza di rilascio e ciclo di vita.
Livello di carico di lavoro
I servizi e le applicazioni Azure vengono eseguiti qui. Azure Linux offre la stessa base di sistema operativo, lo stesso insieme di pacchetti e lo stesso comportamento, sia che venga eseguito in AKS, nelle macchine virtuali di Azure o nelle immagini di contenitori.
Ambito della piattaforma
Azure Linux è progettato per Azure carichi di lavoro cloud. Anche se Azure Linux è open source, gli impegni relativi al supporto e al ciclo di vita Microsoft si applicano solo agli scenari di Azure.
La tabella seguente illustra che cos'è e non è supportato in Azure Linux:
| Area | Supportato | Non supportato |
|---|---|---|
| Architetture | x86-64 (v2 minimum), ARMv8 (64 bit) | Architetture a 32 bit |
| Ambienti | VM di Azure, AKS, immagini di contenitore | Immagini ISO, locali, multicloud, IoT, dispositivi perimetrali |
| Interfaccia utente | Console basata su testo, SSH | Ambienti desktop grafici, programma di installazione con interfaccia grafica |
| Virtualizzazione | Guest KVM, Hyper-V | Xen |
| Hardware periferico | archiviazione connessa ad Azure, rete, GPU | Bluetooth, Wi-Fi, stampanti, audio/video, robotica |
| Piattaforma attendibile | TPM 2.0 | TPM 1.x |
| Supporto di versioni in lingue diverse | Supporto per le impostazioni locali globali disponibile | Non tutti i Language Pack sono inclusi nell'immagine di base |
Ogni immagine Azure Linux comprende waagent e cloud-init. Questi componenti sono necessari per l'integrazione Azure e devono essere sempre presenti.
Struttura del repository
Azure Linux distribuisce pacchetti in diversi repository separati. Conoscere il repository da cui proviene un pacchetto consente di ragionare sulla supportabilità, sulle funzionalità disponibili e su ciò che è necessario acconsentire esplicitamente. Per informazioni quotidiane sulla gestione dei pacchetti, vedere Gestione dei pacchetti.
Impostazioni predefinite di rete
Azure Linux viene fornito con uno stack di rete ottimizzato per le macchine virtuali Azure, i nodi del servizio Azure Kubernetes e i carichi di lavoro dei contenitori. La maggior parte dei carichi di lavoro può usare le impostazioni predefinite senza modifiche.
La tabella seguente riepiloga i componenti di rete predefiniti in Azure Linux e le alternative disponibili se è necessario eseguire l'override dei valori predefiniti per uno scenario specifico:
| Componente | Impostazione predefinita | Alternativa | Note |
|---|---|---|---|
| Gestione rete | systemd‑networkd + cloud‑init | NetworkManager (disponibile, non predefinito) | systemd-networkd è l'impostazione predefinita per gli scenari di macchine virtuali e contenitori Azure. |
| Firewall | firewalld | N/A | Abilitato per impostazione predefinita con un criterio di blocco del traffico in ingresso e di autorizzazione del traffico in uscita. |
| Back-end del firewall | nftables | iptables (tradizionale, disponibile) | nftables è la sostituzione moderna per iptables. Il supporto legacy di iptables è disponibile ma non predefinito. |
| IPv6 | Abilitato e con protezione avanzata | N/A | Applicato un rigoroso irrigidimento dei parametri sysctl sia a IPv4 sia a IPv6. |
Impostazioni predefinite di archiviazione
Le impostazioni predefinite di archiviazione di Azure Linux sono ottimizzate per i dischi collegati ad Azure e per l'hypervisor Hyper-V alla base di ogni macchina virtuale di Azure. Il filesystem, il boot loader e la sorgente di clock sono scelti per garantire prestazioni prevedibili e la compatibilità con le funzionalità della piattaforma Azure, ad esempio snapshot e dischi gestiti.
La tabella seguente riepiloga le impostazioni di archiviazione predefinite in Azure Linux e le alternative disponibili se è necessario eseguire l'override delle impostazioni predefinite per uno scenario specifico:
| Setting | Impostazione predefinita | Alternative |
|---|---|---|
| File system | ext4 | xfs, btrfs |
| Avvio | Bootloader GRUB2 | N/A |
| Orologio | Origine dell'orologio PTP Hyper-V | N/A |
| NVMe | Timeout configurato per l'archiviazione collegata di Azure | N/A |
Architettura di sicurezza
Azure Linux è protetto a ogni livello, dal kernel fino alla supply chain. Le sezioni seguenti descrivono i controlli di sicurezza abilitati per impostazione predefinita. Per altre informazioni, vedere Sicurezza e conformità .
Controllo di accesso obbligatorio
Il controllo di accesso obbligatorio (MAC) restringe i processi ai soli accessi di cui hanno effettivamente bisogno, anche quando sono eseguiti come utente root.
L'anteprima di Azure Linux 4.0 abilita SELinux in modalità di applicazione come framework MAC.
Avvio protetto
L'avvio protetto garantisce l'esecuzione solo di bootloader e kernel firmati. Il blocco del kernel protegge il kernel in esecuzione e disabilita il caricamento di moduli kernel non attendibili in fase di esecuzione.
Annotazioni
Azure Linux 4.0 è ora in preview e i relativi componenti non sono ancora firmati per l'avvio protetto.
Protezione avanzata del kernel e del sistema
Il kernel e lo spazio utente sono creati con mitigazioni che rendono gli exploit più difficili da scrivere e più facili da contenere se hanno esito positivo.
La tabella seguente riepiloga le funzionalità di protezione avanzata del kernel e del sistema in Azure Linux:
| Capability | Description |
|---|---|
| ASLR | Funzionalità ASLR (Address Space Layout Randomization) avanzata abilitata. |
| Protezione dello stack | Protezioni dello stack a livello di compilatore applicate a tutti i pacchetti. |
| Restrizioni delle chiamate di sistema | Profili seccomp predefiniti e filtro syscall. |
| Immagine di base minima | Riduzione della superficie di attacco tramite un set di pacchetti minimo. |
Cryptography
Azure Linux centralizza i criteri di crittografia in modo che gli algoritmi e le dimensioni delle chiavi rimangano coerenti tra OpenSSL, GnuTLS, NSS e OpenSSH.
La tabella seguente riepiloga le impostazioni di crittografia in Azure Linux:
| Setting | Value |
|---|---|
| FIPS | La certificazione FIPS 140-3 è obbligatoria. |
| Criteri di crittografia | Criteri di crittografia Fedora adottati per la selezione coerente degli algoritmi. |
| Post-quantum | ML‑KEM previsto, allineato alla roadmap di Fedora e RHEL. |
Registrazione e controllo
La tabella seguente riepiloga le impostazioni di registrazione e controllo in Azure Linux:
| Setting | Value |
|---|---|
| Daemon di controllo | auditd abilitato. |
| Archiviazione del registro | Archiviazione journald persistente. |
Contenuti correlati
- Per altre informazioni su Azure Linux, vedere la panoramica di Azure Linux.
- Per pianificare la strategia di aggiornamento, esaminare la frequenza di rilascio e il ciclo di vita.