Mondo Unix
Landrun, un tool per isolare processi Linux, senza root e container, ma sfruttando la componente Landlock del Kernel

Un container Linux è un processo isolato. È questa la definizione più semplice che si può dare e che chiarisce tutta una serie di aspetti del funzionamento della tecnologia che al momento regge l’intero cloud web.
Dire container in realtà sottintende tutta una serie di impliciti che appartengono alla galassia Kernel: i Namespace, i CGroup e le immagini, tre elementi che uniti insieme compongono la struttura di quello che noi chiamiamo container, ma che sarebbe più giusto chiamare istanza dell’immagine di un container.
La gestione dei container, sin dalla presentazione di Docker, nel 2013, è stata affidata a tool il cui scopo è esattamente quello di rendere trasparente la complessità di creazione e gestione delle istanze. Docker ne è un esempio, così come Podman, così come Kubernetes che estende questa cosa in un contesto cluster.
Ma esistono modi alternativi per isolare i processi in Linux? Insospettabilmente, sì.
Non solo, metodi di isolamento alternativi sono attivamente sviluppati e presentati costantemente, ed è qui che arriviamo alla notizia di oggi, parlando di Landrun, un tool pensato per gestire una funzionalità che è stata inserita nel Kernel Linux sin dalla versione 5.13 e che si chiama Landlock.
Landlock è rientra nella categoria di programmi che si chiamano Linux Security Module (LSM), la stessa per intenderci di SELinux e AppArmor, ed ha una peculiarità estremamente interessante: può essere usata da un processo non privilegiato per restringere sé stesso, aumentando la sicurezza in scenari come esecuzione di plugin, sandboxing di componenti, o gestione di input non fidato.
Fino ad ora la funzionalità richiedeva competenze piuttosto specifiche per essere sfruttata, ed è qui che si inserisce Landrun che, sostanzialmente, agisce da “interlocutore”, proprio come Docker o Podman fanno lo stesso per i container.
Landrun è quindi un wrapper, scritto in Go e You are not allowed to view links. Register or Login to view., che rende trasparente la gestione di Landlock (che è a basso livello e richiede chiamate specifiche a prctl() e landlock_add_rule(), non banali da gestire) e ne astrae la complessità, permettendo di definire regole più leggibili e manutenibili nel tempo.
Essendo il ruolo di Landlock cruciale per ridurre la superficie d’attacco di un’applicazione, questo wrapper lo rende finalmente accessibile e pratico da usare, e crea un’alternativa plausibile in scenari specifici.
Vi spaventa mai lanciare quei file .sh che i vari how-to dei progetti open-source ormai prevedono tutti per le loro installazioni? Bene, utilizzando landrun è possibile limitare lo spettro di azione di questo tipo di elementi (You are not allowed to view links. Register or Login to view.):

Guests cannot see images in the messages. Please register to forum by clicking You are not allowed to view links. Register or Login to view. to see images.

Ma gli esempi di utilizzo sono molteplici, come si vede nella pagina del progetto, tutti pensati per controllare lo spettro di azione del processo lanciato.
E non finisce qui, poiché landrun può essere integrato negli script di boot di Systemd, per limitare e controllare l’esecuzione di servizi di sistema.
Un progetto davvero molto interessante chi vuole avere il controllo su cosa viene eseguito all’interno del proprio sistema.

Fonte: miamammausalinux.org

AHAH  0 Triste  0 SEI UN GENIO!  0 OMG!  0

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)