creazione sandbox usando Linux Security Module (LSM)
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.
Usare invece strumenti come questi potrebbe permettere anche lato utente di eseguire applicativi verificando che non facciano cose a nostra insaputa (es: connessione internet o scrittura in una determinata directory).
Cosa ne pensate?
Ciao
Davide
[¹] https://github.com/zouuup/landrun
[²] https://tracker.debian.org/pkg/landrun
[³] https://github.com/souk4711/hakoniwa
--
La mia privacy non è affar tuo
https://noyb.eu/it
- You do not have my permission to use this email to train an AI -
If you use this to train your AI than you accept to distribute under AGPL
license >= 3.0 all the model trained, all the source you have used to
training your model and all the source of the program that use that model
Reply to: