Incus 7.5: reti OVN figlie, migrazione a caldo delle istanze e 11 vulnerabilità corrette

Il team di Incus ha annunciato il rilascio della versione 7.5 del proprio gestore di contenitori di sistema e macchine virtuali, un aggiornamento che porta notevoli miglioramenti a rete, archiviazione, clustering, controllo degli accessi e supporto delle macchine virtuali, oltre a risolvere 11 vulnerabilità di sicurezza, di cui 5 classificate come critiche.
Incus è un sistema avanzato per la gestione di system container (ambienti isolati che condividono il kernel del sistema operativo ma funzionano come piccoli sistemi indipendenti), application container (ambienti isolati progettati per eseguire una singola applicazione con le sue dipendenze) e macchine virtuali (sistemi operativi completi eseguiti in modo isolato tramite un hypervisor).
Il progetto nasce nell’agosto 2023 come fork (diramazione indipendente del codice sorgente che parte da una base esistente per evolverla separatamente) di LXD, il noto gestore di container sviluppato in origine da Canonical. La scissione avvenne quando Canonical modificò la politica di gestione del progetto e impose a tutti i collaboratori di LXD la firma di una CLA: Contributor License Agreement (Accordo di Licenza per i Collaboratori, un documento che trasferisce o concede in licenza i diritti sul codice contribuito), di fatto sottraendo il progetto al controllo comunitario. In risposta, lo sviluppatore Aleksa Sarai (noto per il suo lavoro su runc e altri progetti Open Containers) avviò il fork, che fu prontamente accolto sotto l’ombrello di Linux Containers, la storica casa di LXD. Il nome Incus deriva dal Cumulonimbus incus, la nuvola a incudine.
A partire dalla base di LXD, il nuovo progetto offre un’interfaccia unificata per la gestione di container di sistema, supporto per container di applicazioni (OCI) e macchine virtuali, il tutto tramite un’API (Interfaccia di Programmazione delle Applicazioni) REST (Representational State Transfer: stile architetturale per servizi di rete) potente e intuitiva che consente un controllo avanzato delle risorse, un’interfaccia a riga di comando unificata e strumenti di gestione per cluster (gruppi di server coordinati che lavorano come una singola entità).
La manutenzione del progetto è affidata all’organizzazione Linux Containers, che garantisce continuità e apertura nello sviluppo. Il software è sviluppato in modo community-led (guidato dalla comunità) da un team di volontari coordinato da Stéphane Graber, già principale sviluppatore di LXD.
Il progetto è distribuito sotto licenza Apache 2.0, una delle licenze open source più permissive, che consente uso commerciale, modifica e ridistribuzione senza vincoli di copyleft (obbligo di rilasciare il codice derivato con la stessa licenza).
L’applicazione è disponibile per i principali sistemi operativi GNU/Linux e supporta l’esecuzione di container su tutte le principali architetture, mentre le macchine virtuali sono supportate su x86_64 (Intel/AMD a 64 bit), aarch64 (ARM a 64 bit), ppc64le (PowerPC little-endian) ed s390x (IBM mainframe). Incus è pacchettizzato per numerose distribuzioni: Ubuntu, Debian, Fedora, Arch Linux (e Arch Linux ARM), Alpine Linux, openSUSE e altre, oltre a essere installabile da codice sorgente. Il progetto offre anche IncusOS, un sistema operativo minimale dedicato all’esecuzione di Incus.
Incus si propone come una soluzione open source per amministrare in modo unificato sia container di sistema sia macchine virtuali, offrendo una gestione scalabile che può andare da un singolo server (un computer progettato per fornire servizi, risorse o applicazioni ad altri dispositivi) fino a un data center (una struttura che ospita centinaia o migliaia di server, sistemi di rete e dispositivi di archiviazione, tutti dedicati all’elaborazione e alla gestione di grandi quantità di dati). In questo modo, Incus permette di gestire infrastrutture di qualsiasi dimensione, da piccoli ambienti locali fino a complessi cluster (gruppi coordinati di più server che lavorano insieme come un’unica piattaforma).
Il target principale dell’applicazione comprende amministratori di sistema, aziende che necessitano di infrastrutture virtualizzate consolidate, provider di servizi cloud privati e sviluppatori che vogliono ambienti di test riproducibili. Pur richiedendo conoscenze tecniche solide, Incus mira a semplificare la gestione di infrastrutture complesse rispetto a soluzioni più manuali come LXC puro.
La nuova versione stabile Incus 7.5 è stata rilasciata il 25 settembre 2026 e succede alla versione Incus 7.4 rilasciata il 27 agosto 2026. Incus segue un ciclo di versioni mensili per la linea di sviluppo principale, affiancata da versioni LTS (Long Term Support: supporto a lungo termine) come Incus 7.0 LTS (maggio 2026), che riceve manutenzione per 5 anni fino a giugno 2031. L’annuncio ufficiale riguarda la serie 7.5, ma il numero di versione scaricabile è 7.5.1 perché la build 7.5.0 non ha generato correttamente alcuni artefatti di distribuzione (i pacchetti software pronti per l’installazione) e ha richiesto una nuova elaborazione.
Novità in Incus 7.5
Incus 7.5 introduce un insieme consistente di miglioramenti che toccano la rete, l’archiviazione, il clustering, il controllo degli accessi, i contenitori OCI (Open Container Initiative, lo standard industriale per i formati dei contenitori applicativi) e il supporto delle macchine virtuali. La versione migliora inoltre le prestazioni negli ambienti di grandi dimensioni e risolve 11 vulnerabilità di sicurezza, alcune delle quali classificate come critiche.
Reti figlie OVN
La funzionalità più significativa è il supporto delle reti figlie OVN. OVN (Open Virtual Network) è la tecnologia di rete virtuale distribuita usata da Incus per creare reti logiche sofisticate. Una rete OVN può ora essere creata specificando un riferimento parent che punta a un’altra rete OVN nello stesso progetto: invece di ricevere un router logico dedicato, la rete figlia collega il proprio commutatore logico e la propria sottorete al router logico della rete genitrice. In questo modo più sottoreti interne possono essere instradate da un solo router logico, condividendone il collegamento verso l’esterno (in inglese “uplink”), l’indirizzo esterno e i collegamenti diretti con altre reti (in inglese “peerings”).
Ogni rete figlia conserva la propria sottorete, i propri servizi DHCP (Dynamic Host Configuration Protocol, il protocollo che assegna automaticamente gli indirizzi di rete), i propri record DNS (Domain Name System, il sistema che traduce i nomi di dominio in indirizzi), le proprie ACL (Access Control List, liste di controllo degli accessi) e le proprie porte per le istanze. La NAT (Network Address Translation, la traduzione degli indirizzi di rete) può essere attivata in modo indipendente dalla rete genitrice tramite le opzioni ipv4.nat.address e ipv6.nat.address. In questo modo una sottorete può essere tradotta mentre un’altra viene instradata direttamente sullo stesso router.
Spostamenti tra progetti in un cluster
Un’istanza (un contenitore o una macchina virtuale gestita da Incus) in esecuzione può ora essere spostata verso un progetto diverso nell’ambito di una migrazione a caldo verso un altro membro del cluster, combinando le opzioni --target-project e --target. La migrazione a caldo (in inglese “live migration”) trasferisce l’istanza senza spegnerla, evitando interruzioni del servizio. I dispositivi associati all’istanza devono essere compatibili con la configurazione consentita dal progetto di destinazione, e i volumi di archiviazione personalizzati contrassegnati come dependent seguono automaticamente l’istanza durante l’operazione.
Copia iniziale per i volumi personalizzati
I dispositivi di tipo disk appoggiati a un volume di archiviazione personalizzato e collegati ai contenitori hanno ricevuto la nuova proprietà initial.copy. Quando è impostata su true, il contenuto già presente nel punto di montaggio all’interno del contenitore viene copiato nel volume la prima volta che questo viene usato, se il volume è vuoto. Si tratta dello stesso comportamento che i contenitori applicativi si aspettano quando includono dati nelle cartelle che in seguito vengono destinate al montaggio di volumi. La copia avviene una sola volta per volume, come registrato nella chiave interna volatile.initial.copied.
Etichette di sicurezza delle istanze
La nuova chiave di configurazione security.tags contiene un elenco di etichette separate da virgole. Incus non usa queste etichette nelle proprie decisioni di autorizzazione, ma le espone al sistema di autorizzazione esterno: con OpenFGA (uno strumento per la gestione granulare delle autorizzazioni), ogni etichetta diventa un oggetto security_tag che mette in relazione tutte le istanze che la portano, così da poter scrivere criteri di accesso basati sulle etichette anziché sulle singole istanze.
Attestazioni OIDC negli scriptlet di autorizzazione
I claim OIDC (OpenID Connect, il protocollo di autenticazione che verifica l’identità degli utenti tramite un fornitore di identità) validati del client ora vengono passati anche allo scriptlet di autorizzazione, cioè al piccolo script personalizzabile che Incus esegue per decidere se una richiesta è permessa. È così possibile scrivere regole basate su qualsiasi attestazione fornita dal fornitore di identità, come i gruppi di appartenenza o l’indirizzo di posta elettronica, senza dover mantenere una mappatura separata.
Metriche sui membri del cluster
Il punto di accesso /1.0/metrics espone ora informazioni sui membri del cluster, elaborate dal demone incusd e raccolgibili con Prometheus, il noto sistema di monitoraggio. Le nuove metriche riguardano l’architettura e il dominio di guasto (la logica di raggruppamento che evita che membri critici condividano la stessa infrastruttura fisica), lo stato di ciascun membro, i ruoli e i gruppi. Diventa così semplice generare avvisi automatici quando un membro va offline o viene svuotato delle sue istanze (in inglese “evacuated”).
GPUDirect P2P per le macchine virtuali
I dispositivi GPU (Graphics Processing Unit, l’unità di elaborazione grafica) fisici passati alle macchine virtuali hanno ricevuto la chiave di configurazione nvidia.clique. Impostando lo stesso identificatore di gruppo (un valore da 0 a 15) su più GPU assegnate alla stessa macchina virtuale, queste vengono presentate al driver ospite come un gruppo GPUDirect P2P (Peer to Peer), consentendo comunicazioni DMA (Direct Memory Access, accesso diretto alla memoria) tra le schede senza passare dalla memoria centrale.
Agente Windows migliorato
L’agente per i sistemi ospiti Windows ora permette sessioni interattive con il comando incus exec, che esegue comandi all’interno dell’istanza, e migliora l’inoltro dei segnali (le notifiche che il sistema invia ai programmi, ad esempio per interromperli), con una gestione più affidabile delle sessioni e del codice di uscita.
Macchine virtuali NetBSD
L’agente di Incus è ora disponibile per gli ospiti NetBSD, in aggiunta al supporto esistente per GNU/Linux, FreeBSD, macOS e Windows. Come per gli altri sistemi BSD (Berkeley Software Distribution, la famiglia di sistemi operativi UNIX-like da cui deriva anche FreeBSD), impostare image.os con un valore che inizia con NetBSD applica automaticamente le ottimizzazioni necessarie alla macchina virtuale.
Client FreeBSD
Il client di Incus è ora pacchettizzato in FreeBSD Ports (il sistema di pacchetti di FreeBSD) e si installa con pkg install incus-client; i binari client precompilati per FreeBSD sono inoltre inclusi in ogni versione.
Modalità archivio per i trasferimenti di file
I comandi incus file push e incus file pull hanno ricevuto l’opzione --archive (-a), che si comporta come cp -a: proprietà, permessi e data/ora dei file vengono preservati solo quando si usa questa opzione (che implica anche il trasferimento ricorsivo delle sottocartelle), mentre i trasferimenti normali si comportano come una semplice copia.
Etichette e ambiente per le immagini OCI
Le immagini importate dai registri OCI (i magazzini online di immagini per contenitori applicativi, come Docker Hub) espongono ora le proprie etichette standard org.opencontainers.image.* come proprietà oci.*, rendendo visibili titolo, versione, sorgente e descrizione attraverso incus image info. Inoltre, l’ambiente dell’immagine non viene più copiato nella configurazione dell’istanza al momento della creazione: viene usato come ambiente predefinito per incus exec, mantenendo la configurazione pulita e consentendo agli aggiornamenti dell’immagine di propagare le modifiche.
Record DNS per le reti bridge
Le reti bridge (ponte, la tecnica che collega due segmenti di rete a livello di collegamento dati) hanno ricevuto la chiave dns.include_hosts, che controlla se il servizio dnsmasq della rete debba servire i record del file /etc/hosts del computer ospite. Disattivarla evita di esporre alle istanze le voci valide solo per l’ospite, mantenendo il confinamento con AppArmor (il sistema di sicurezza che restringe le operazioni consentite a un programma).
Profilazione tramite API
I profili di pprof (lo strumento di analisi delle prestazioni del linguaggio Go) del demone incusd sono ora disponibili al percorso /internal/debug/pprof/ su ogni punto di ascolto, riservato ai client autorizzati ad amministrare il server. L’API (Application Programming Interface, l’interfaccia di programmazione delle applicazioni) permette la profilazione in qualsiasi momento, tramite HTTPS (il protocollo HTTP cifrato) e senza modificare la configurazione del server.
Correzioni di sicurezza
La versione risolve 11 vulnerabilità, di cui 5 classificate come critiche: 2 riguardano l’eliminazione arbitraria di file e il posizionamento di cartelle sul computer ospite tramite percorsi malevoli nei sottovolumi Btrfs (il filesystem che supporta istantanee e sottovolumi) durante backup e migrazioni ottimizzate (CVE-2026-85185 e CVE-2026-85526); le altre permettono la scrittura arbitraria di file tramite collegamenti simbolici nel flusso di migrazione (GHSA-579w-c4rw-c8q3) e tramite percorsi malevoli nei volumi dipendenti dei backup delle istanze (GHSA-hpjh-q53p-f27r), oltre all’aggiramento delle restrizioni dei progetti per l’opzione block.create_options (GHSA-4cph-ccqv-hm3c).
Completano il quadro alcune vulnerabilità di gravità alta e media, tra cui l’aggiramento delle restrizioni di progetto nella copia dei volumi personalizzati, la lettura di operazioni altrui, la lettura di chiavi di archiviazione di altri progetti, l’accesso a oggetti di altri “bucket” tramite URL di caricamento S3 non firmati e la scrittura arbitraria di file tramite un agente malevolo.
Data la gravità di alcune di queste vulnerabilità, gli amministratori dei sistemi interessati dovrebbero considerare l’aggiornamento prioritario.
Download e Riferimenti
Incus 7.5.1 può essere scaricato dalla pagina delle versioni su GitHub, dove sono disponibili i binari precompilati per client e demone, con firma GPG verificabile, e i pacchetti software per varie distribuzioni GNU/Linux.
Il team raccomanda in genere l’installazione tramite i pacchetti ufficiali della propria distribuzione: gli utenti di Debian e Ubuntu possono usare il repository software di Zabbly, mentre per altre distribuzioni sono disponibili le istruzioni nella documentazione ufficiale per l’installazione.
Chi usa FreeBSD può installare il client con pkg install incus-client.
Non essendo un’applicazione grafica desktop, Incus non è disponibile su Flathub né su AppImageHub.
Riferimenti Ufficiali
L’annuncio ufficiale della versione Incus 7.5 è stato pubblicato nel forum di Linux Containers, curato da Stéphane Graber, e ripreso nella notizia ufficiale del progetto. Il repository software GitHub del progetto contiene il codice sorgente, la documentazione ufficiale copre in dettaglio ogni funzionalità descritta, dalle reti OVN al sistema di autorizzazione.
Per provare le novità senza installare nulla è disponibile la piattaforma online di Incus, che offre un’esperienza pratica con l’ultima versione direttamente nel browser.
Fonte: https://discuss.linuxcontainers.org/t/incus-7-5-has-been-released/27273
Fonte: https://linuxcontainers.org/incus/news/
Fonte: https://github.com/lxc/incus/releases/tag/v7.5.1
Fonte: https://linuxiac.com/incus-7-5-adds-ovn-child-networks-live-instance-moves/
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.
Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
























