Il progetto Landrun sviluppa un sistema di isolamento delle applicazioni non privilegiato.

Il progetto Landrun ha avviato lo sviluppo di un nuovo sistema per l'esecuzione isolata di singole applicazioni. Per l'isolamento viene utilizzato il modulo LSM del kernel Linux Landlock, che consente di evitare l'esecuzione di operazioni privilegiate durante la creazione di un ambiente sandbox. Per le sue funzionalità, Landrun è simile all'utility Firejail, ma si distingue per una realizzazione più semplice, leggerezza e la possibilità di operare sotto un comune utente non privilegiato senza la necessità del flag suid. Il codice del progetto è scritto in Go e distribuito sotto licenza GPLv2.

Il meccanismo Landlock consente ai programmi non privilegiati di limitare l'uso degli oggetti del kernel Linux, come gerarchie di file, socket di rete e ioctl. A differenza degli spazi dei nomi e del filtraggio delle chiamate di sistema, l'ambiente isolato viene formato dal kernel Linux sotto forma di un ulteriore strato sopra i meccanismi di controllo degli accessi già esistenti. Per interagire con il sottosistema Landlock, l'utility landrun utilizza la libreria go-landlock degli sviluppatori di LandLock.

Landrun consente di ridurre il rischio di compromissione del sistema principale durante l'esecuzione di programmi non affidabili o potenzialmente vulnerabili. Tra le funzionalità disponibili si evidenziano la supporto per la limitazione selettiva degli accessi a livello di singoli directory, l'assegnazione di privilegi a percorsi di file (consentendo o vietando la lettura, la scrittura e l'esecuzione) e il controllo sulle connessioni TCP in entrata e in uscita.

Ad esempio, utilizzando Landrun, è possibile vietare a un processo di eseguire file eseguibili, consentire la scrittura soltanto in una sottocartella specifica contenente dati, vietare la creazione di socket in ascolto per accettare connessioni di rete e permettere l'invio di richieste di rete solo a porte TCP specificate. Nel caso più semplice, per vietare la scrittura, l'esecuzione e le funzionalità di rete, si può avviare il programma con il comando "landrun —ro \/", mentre per isolare nginx si può utilizzare: landrun —rox \/usr\/bin —ro \/lib,\/lib64,\/var\/www —rwx \/var\/log —bind-tcp 80,443 \/usr\/bin\/nginx.

Nei piani futuri, si parla di un controllo degli accessi avanzato per il filesystem, supporto per UDP e gestione delle risorse dei processi. Per limitare l'accesso a livello di filesystem è richiesto almeno il kernel Linux 5.13, mentre per le limitazioni di rete è necessario 6.8.

Inoltre, si può notare che sono già state apportate modifiche al codice sorgente di Firejail che consentono di utilizzare il sottosistema del kernel Landlock per l'isolamento senza il bit suid e l'elevazione dei privilegi, ma la versione con questo supporto non è ancora stata pubblicata.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster