La comunità Linux Containers ha pubblicato il rilascio dello strumento per la gestione dei contenitori isolati LXC 7.0, che offre un runtime adatto sia per l'esecuzione di contenitori con un ambiente di sistema completo, simile a macchine virtuali, sia per l'esecuzione di contenitori non privilegiati di singole applicazioni (OCI). LXC è uno strumento a basso livello che opera a livello di singoli contenitori. Per la gestione centralizzata dei contenitori distribuiti in un cluster di più server, vengono sviluppati sistemi come Incus e LXD basati su LXC. La versione LXC 7.0 è classificata come release con supporto a lungo termine, con aggiornamenti forniti per un periodo di 5 anni (fino al 2031). Il codice di LXC è scritto in linguaggio C e distribuito sotto licenza GPLv2.
LXC comprende la libreria liblxc, un insieme di utility (lxc-create, lxc-start, lxc-stop, lxc-ls, ecc.), template per la creazione di container e un insieme di binding per vari linguaggi di programmazione. L'isolamento è realizzato attraverso i meccanismi standard del kernel Linux. Per l'isolamento di processi, stack di rete ipc, uts, identificatori utente e punti di montaggio, viene utilizzato il meccanismo dei namespace. Per limitare le risorse si usano i cgroups. Per ridurre i privilegi e limitare l'accesso si avvalgono di funzionalità del kernel come i profili Apparmor e SELinux, le politiche Seccomp, Chroots (pivot_root) e capabilities.
Principali modifiche:
- È stata implementata l'isolamento del processo di monitoraggio utilizzando il meccanismo Landlock, che consente ai programmi non privilegiati di rinunciare ai privilegi non necessari per il loro funzionamento, limitando volontariamente l'accesso al sistema per migliorare la sicurezza. Landlock è stato utilizzato per limitare i gestori API di monitoraggio a operare solo all'interno del contenitore e vietare l'accesso ai file al di fuori di esso. La protezione viene applicata durante la costruzione di landlock-monitor.
- È stata separata la configurazione dei gestori (hook) e dei contenitori (runtime). Sono state aggiunte nuove impostazioni lxc.environment.hooks e lxc.environment.runtime, tramite le quali è possibile impostare selettivamente le variabili di ambiente solo per i contenitori, senza passarle ai gestori hook, e viceversa.
- È stata interrotta la supporto per cgroup v1 e per i kernel Linux che non supportano PIDFD e il nuovo API per la gestione del montaggio.
- È stata corretta una vulnerabilità (CVE-2026-39402) che consentiva di aggirare l'autenticazione e di eliminare le porte OVS (OpenVswitch) manipolando il comando "lxc-user-nic delete". Questa vulnerabilità consente a un utente non privilegiato di disabilitare le interfacce di rete per i contenitori avviati da altri utenti.
In aggiunta, Canonical ha rilasciato una nuova versione del sistema di gestione dei contenitori LXD 6.8. LXD offre strumenti per la gestione centralizzata dei contenitori e delle macchine virtuali, sia su un singolo host che in un cluster di più server. Il progetto è implementato come un processo in background che accetta richieste di rete tramite REST API e supporta vari backend di archiviazione (albero delle directory, ZFS, Btrfs, LVM), snapshot dello stato, migrazione live di contenitori in esecuzione da una macchina all'altra e strumenti per la memorizzazione delle immagini dei contenitori. Per eseguire i contenitori, viene utilizzato il framework LXC.
Tra le novità in LXD 6.8:
- È stata aggiunta la funzionalità di collegamento dei cluster (Cluster links), che consente di organizzare interazioni sicure e autenticate tramite certificati TLS. collegamenti tra diversi cluster LXD. Per gestire il collegamento è stata aggiunta il comando "lxc cluster link" e implementata una sezione corrispondente nell'interfaccia web.

- È stata aggiunta una nuova funzione per i nodi del cluster chiamata «control-plane», che consente di identificare i nodi coinvolti nella definizione del consenso Raft e in grado di agire come nodi di riserva o master del database.
- Sono stati implementati i repicatori che consentono di utilizzare l'API Cluster links per la replicazione dei contenuti dei nodi in altri cluster LXD al fine di garantire l'affidabilità.
- È stata aggiunta la supporto per la connessione a caldo di dispositivi GPU CDI (Container Device Interface) ai container in esecuzione.
- Nel driver di archiviazione Ceph è stata aggiunta la supporto per il protocollo msgr2 (Ceph messenger v2).
- Nell'interfaccia web sono stati aggiunti strumenti per gestire i ruoli dei nodi del cluster, è stato aggiornato l'editor di configurazione in formato YAML, è stato implementato un design ispirato a Ubuntu per l'emulatore di terminale integrato e migliorata la scelta dei driver di archiviazione.



Fonte: opennet.ru




