Re: creazione sandbox usando Linux Security Module (LSM)

Alessandro Baggi <[email protected]>
Newsgroups gmane.linux.debian.user.italian
Message-ID <[email protected]>
Buongiorno Davide,
grazi per le interessanti informazioni.

Il 21/04/25 09:01, Davide Prina ha scritto:
> Ho visto questa applicazione: landrun[¹]
> da poco arrivato in Debian unstable[²]
> 
> Interessante, Landlock usa Linux Security Module (LSM). LSM è presente da Linux 5.13, indicato come complesso da usare direttamente. Landlock è un'applicazione che permette di mettere in una sandbox tutte le applicazioni senza nessun privilegio. Con Linux >= 6.7 si possono applicare anche restrizioni di rete (TCP bind/connect)
> 
> Ad esempio
> # landrun --rox /usr touch /tmp/file
> touch: cannot touch '/tmp/file': Permission denied
> # landrun --rox /usr --rw /tmp touch /tmp/file
> #
> 
> È indicata simile a firejail, ma con la sicurezza a livello Linux e con un overhead minimo.
> Unica dipendenza è Go >= 1.18 (naturalmente go includendo tutte le librerie al suo interno ha le dipendenze soddisfatte nell'eseguibile).
> 
> Davvero interessante, questo potrebbe sostituire diversi metodi di protezione attuale (lato utente).
> Per ora ho soltanto letto la documentazione e guardato gli esempi
> 
> Poi ho visto che ne esiste anche un altro hakoniwa[³], non in Debian
> questo in rust (se devo essere sincero mi è piaciuto l'obiettivo di rust all'inizio, ma ora sono quasi contrario al suo uso: non è vero che qualsiasi cosa in rust è sicura; ha una libreria di base minuscola e questo causa l'uso di una marea di altre librerie di terze parti per qualsiasi cosa, inoltre è possibile disabilitare la "sicurezza rust").
> 
> Non ho approfondito più di tanto, ma dalla descrizione sembra che per questo ci siano funzionalità in più, anche se sembra molto più complesso da usare.
> 
> 
> Tra i maggiori utilizzatori di Linux Security Module c'è apparmor e selinux. Apparmor usato ormai di default in Debian... anche se avevo letto che si stava proponendo/discutendo di abbandonarlo e passare a selinux. Da quel che ho capito selinux permette di configurare con un dettaglio maggiore, ma è più complesso da configurare/gestire.
> 

Questa cosa è interessante perche anche su lato SUSE/OpenSUSE stanno 
parlando di questo (o almeno cosi ho letto).

Io ho usato tutti e due, creare policy con AA è molto più semplice che 
crearle con SELinux. Per esempio su AA generalmente basta inserire i 
path a cui il programma può accedere con le relative flags e lo carichi, 
molto facile, intuitivo a pratico. Su SELinux devi creare la policy, 
compilarla e poi caricarla (stando attendo a non mettere un allow delle 
regole che non intendi mettere, alla fine audit2allow è lo strumento 
principale che ho usato per crearle ma alla fine mi sono ritrovato a 
creare la policy su una macchina virtuale senza nessun servizio oltre 
quello per il quale dovevo creare la policy per non creare casini). Per 
esempio SELinux permette di creare utenti e abbinarli ad un ruolo 
SELinux, oppure ha dei boolean che permettono per esempio di non far 
comunicare httpd (da noi apache2) con un DB. È molto più complesso ma 
molto più potente. Non ho mai capito se AA abbia dei meccanismi che 
permette di bloccare il lavoro con altri software via rete.

Hai un link della discussione?

Grazie in anticipo.

Alessandro.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.