DISTRIBUZIONI IMMUTABILI

EDITORIALIGNU/LINUX

Ultimamente nel mondo GNU/Linux si sente parlare, sempre più sovente, di distribuzioni c.d. “immutabili”. Ma di cosa si tratta esattamente?

NOZIONE GENERALE

In generale possiamo affermare che esse siano sistemi operativi GNU/Linux in cui una parte essenziale del sistema, solitamente la directory radice del filesystem, ossia root (/) risulta essere montata in modalità di sola lettura (c.d. read only). In realtà, talvolta, può anche trattarsi di uno specifico percorso all’interno di essa, come ad esempio la cartella /usr).

L’ORIGINE DI QUESTE DISTRIBUZIONI

Inizialmente queste distribuzioni trovavano la propria ragione d’essere in ambienti di produttività ove rispondevano, sostanzialmente, alla necessità di garantire la riproducibilità del medesimo sistema operativo.

In altri termini, questa immutabilità garantiva che l’installazione del medesimo s.o. fosse replicabile, in modo identico, su più macchine.

LA SICUREZZA COME ULTERIORE PARADIGMA

La funzionalità del sistema in sola lettura garantiva, però, anche una maggiore sicurezza. Ciò proprio per il principio per cui tutto ciò che non può essere modificato non può, per sua natura, essere esposto a rischi.

IL NUOVO PARADIGMA DELLE DISTRIBUZIONI IMMMUTABILI

La natura immutabile ha ispirato il più recente successo di queste distribuzioni, che si sono indirizzate verso l’ambiente riservato all’utente finale.

Questa impostazione trova il proprio fondamento nella necessità di garantire al fruitore finale che il suo sistema risulti stabile e sicuro.

Tale obiettivo viene raggiunto proprio fornendo all’utente GNU/Linux un sistema in sola lettura che, in quanto tale, sia protetto da attacchi informatici e, ancor prima, da modifiche indesiderate che l’utente stesso possa involontariamente realizzare sul proprio sistema operativo causandone l’instabilità.

IMMUTABILE NON SIGNIFICA IMMODIFICABILE

In linea teorica, una distribuzione immutabile sarebbe per definizione non modificabile dall’utente. Pertanto, quest’ultimo non riceverebbe grandi benefici da un sistema operativo che sarebbe sostanzialmente inutilizzabile.

Infatti, lo stesso sistema operativo ha necessità di scrivere dati per poter funzionare regolarmente (si pensi, a titolo di esempio, alle directory /var e /tmp).

Lo stesso utente, ha bisogno – a sua volta – di poter scrivere in una propria “home” ed installare programmi.

FILESYSTEM OVERLAY

Al fine di garantire questa possibilità viene adottato ed istruito un filesystem overlay.

Quest’ultimo consiste in una funzione del kernel implementata dalla versione 3.18.

Si tratta di un filesystem modificabile in lettura/scrittura che andrà a sovrapporsi al filesystem originario che – come si è già detto – risulta essere immutabile.

In altri termini, avremo una struttura di base immodificabile, assistita da un’altra struttura di dati sovrapposta che riceverà le modifiche operate dall’utente o dal sistema operativo stesso.

Ovviamente, all’avvio, GNU/Linux dovrà montare entrambi i filesystem per consentire all’utente di ritrovare tutte le variazioni apportate e le proprie configurazioni personali.

AGGIORNAMENTI DEL SISTEMA

Oltremodo il sistema deve essere aggiornato, quindi anche in questo scenario risulta necessario scrivere dei dati sul filesystem. In linea di principio, questo filesystem sarà quello overlay e gli update saranno certamente più rapidi perché non si dovrà intervenire su tutta una serie di file di sistema perché già presenti nel filesystem immutabile.

ESEMPI DI DISTRIBUZIONI IMMUTABILI

Fra le più stabili e celebri si segnalano: BlendOS, Opensuse MicroOS, VanillaOS, NixOS, Fedora Silverblue, GuiX, con l’avvertenza che queste distribuzioni adottano approcci ed espedienti tecnici spesso differenti e/o combinati fra loro.

CONCLUSIONI

L’utilizzo di distribuzioni immutabili in ambiente desktop ha senso se si desidera che un sistema sia sempre avviabile e, quindi, sia resiliente a prescindere dalle modifiche intervenute nel tempo, specie per iniziativa di un utente distratto o non avveduto.

Per quanto concerne la sicurezza, queste distribuzioni sono più sicure di altre per due ordini di motivi: il primo, per cui il “cuore” del sistema risulta intangibile, e quindi sottratto ad attacchi informatici, il secondo, per il quale questi sistemi GNU/Linux ricorrono ad isolamento attraverso l’utilizzo di tecnologie basate su sandboxing e containerizzazione.

Qualche dubbio permane, nella misura in cui sussiste sempre un filesystem overlay scrivibile, che – in quanto tale – può essere oggetto di aggressione da parte di malintenzionati o, comunque, passibile di perdita di dati.

E’ certo, di converso, che il filesystem overlay può essere – da parte sua – sottoposto a backup attraverso l’utilizzo di una sorta di snapshot, in modo da garantire un salvataggio leggero e granulare del proprio sistema e tale da consentire anche un agevole rollback.