## page created by Carlin0 #format wiki #LANGUAGE it <
> <> <> = Introduzione = '''Firejail''' è un programma [[https://it.wikipedia.org/wiki/Sandbox_(sicurezza_informatica)|sandbox]] [[https://it.wikipedia.org/wiki/Setuid_e_setgid|SUID]] di sicurezza che riduce il rischio di falle nella sicurezza restringendo l'ambiente di esecuzione di applicazioni non fidate, usando namespace Linux e [[https://en.wikipedia.org/wiki/Seccomp|seccomp-bpf]]. Permette ad un processo e tutti i suoi discendenti di avere la propria vista privata delle risorse del [[https://it.wikipedia.org/wiki/Kernel|kernel]] globalmente condivise, come lo stack di rete, la tabella dei processi e la tabella dei montaggi. = Installazione = [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://firejail|firejail]]. {{{#!wiki note Esiste anche un'interfaccia grafica basata sulle librerie [[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]], installabile tramite il pacchetto [[apt://firetools|firetools]], ma non viene qui trattata poiché non consente di sfruttare le molteplici possibilità che si hanno operando dal [[AmministrazioneSistema/Terminale|terminale]], grazie a tutte le opzioni disponibili. }}} = Funzionamento = Vengono presi come esempi le applicazioni '''[[InternetRete/Navigazione/Firefox|Firefox]]''' e '''[[InternetRete/Messaggistica/Telegram|Telegram Desktop]]'''. 0. Avviare un programma in ''sandbox''. Digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ firejail }}} Ad esempio:{{{ firejail firefox firejail telegram-desktop }}} 0. Avviare un programma in '''''modalità privata''''', per inibire il programma a leggere i file della propria '''Home''' comprese le configurazioni dell'applicazione stessa:{{{ firejail --private }}} ad esempio:{{{ firejail --private firefox firejail --private telegram-desktop }}} 0. Listare i programmi che usano '''firejail''':{{{ firejail --list }}} Viene mostrato un risultato simile a questo:{{{ 1734:carlo::/usr/bin/firejail /usr/bin/firefox 2456:carlo::/usr/bin/firejail /usr/bin/liferea 2531:carlo::/usr/bin/firejail /usr/bin/telegram-desktop - }}} In alternativa:{{{ firejail --top }}} Per un risultato più completo:{{{ firejail --tree }}} 0. Listare i collegamenti simbolici creati a '''firejail''':{{{ firecfg --list }}} Viene mostrato un risultato simile a questo:{{{ /usr/local/bin/thunderbird /usr/local/bin/keepassxc /usr/local/bin/firefox /usr/local/bin/liferea /usr/local/bin/hexchat /usr/local/bin/google-chrome-stable /usr/local/bin/telegram-desktop }}} 0. Per eliminare tutti i collegamenti simbolici creati a '''firejail''', digitare:{{{ sudo firecfg --clean }}} 0. Per eliminare solo un collegamento simbolico definito, digitare:{{{ sudo rm /usr/local/bin/nome_programma }}} Ad esempio:{{{ sudo rm /usr/local/bin/hexchat }}} 0. Per ''uccidere'' un processo in sandbox ,digitare:{{{ firejail --shutdown=PID }}} {{{#!wiki tip Per ulteriori opzioni e impostazioni, consultare le pagine man [[http://manpages.ubuntu.com/manpages/jammy/man1/firejail.1.html|firejail]] e [[http://manpages.ubuntu.com/manpages/jammy/man1/firecfg.1.html|firecfg]]. }}} = Integrazione Desktop = Per configurare il menù in modo che le applicazioni vengano avviate in sandbox, esistono due opzioni. == Singola applicazione == Questa opzione consente di predefinire quali applicazioni avviare in sandbox Digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo ln -s /usr/bin/firejail /usr/local/bin/nome_programma }}} Ad esempio:{{{ sudo ln -s /usr/bin/firejail /usr/local/bin/firefox sudo ln -s /usr/bin/firejail /usr/local/bin/telegram-desktop }}} == Tutte le applicazioni == Questa opzione permette di avviare tutte le applicazioni in sandbox. {{{#!wiki important Questa modalità può limitare il funzionamento delle applicazioni, poiché imposta configurazioni estremamente restrittive nell'uso delle applicazioni stesse. }}} Digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ sudo firecfg }}} = Profili personalizzati = Ci sono due modalità per personalizzare i profili. == File profile == 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/.config/firejail`. 0. [[AmministrazioneSistema/ComandiBase#cp|Copiare]] i file `*.profile` da modificare dalla cartella `/etc/firejail/` in `~/.config/firejail`. Ad esempio:{{{ cp /etc/firejail/firefox.profile ~/.config/firejail cp /etc/firejail/telegram.profile ~/.config/firejail }}} 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] i file `*.profile` copiati e aggiungere o commentare le righe desiderate. 0. Salvare e chiudere il file. == File local == 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/.config/firejail`. 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#touch|Creare]] i file `.local` Ad esempio:{{{ touch ~/.config/firejail/firefox.local touch ~/.config/firejail/telegram.local }}} 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] i file `*.local` creati. 0. Scrivere le impostazioni desiderate. 0. Salvare e chiudere il file. Ad esempio per configurare '''firefox''' ad accedere a [[Hardware/DispositiviPartizioni/Partizioni|partizioni]] montate nel sistema o altri dispositivi, scrivere nel file `firefox.local` le seguenti righe:{{{ whitelist /media ignore disable-mnt }}} Ad esempio per configurare '''telegram desktop''', usato [[AmbienteGrafico|nell'ambiente grafico]] [[AmbienteGrafico/Xfce|Xfce]], a ignorare le configurazioni di altri ambienti grafici, scrivere nel file `telegram.local` le seguenti righe: {{{ ignore dbus-user.talk org.kde.StatusNotifierWatcher ignore dbus-user.talk org.gnome.Mutter.IdleMonitor }}} Al termine riavviare le applicazioni. ##Si consiglia pressoché sempre il riavvio per essere certi che le configurazioni siano applicate. ##Non necessita il riavvio dell'intero sistema, basta quello delle applicazioni interessate dalle modifiche = Priorità dei file di configurazione = * Le impostazioni scritte nei file `*.profile` che sono nella '''Home''' hanno priorità superiore rispetto a quelle scritte nei file `*.profile` in `/etc/firejail`. * Le impostazioni scritte nei file `*.local` hanno priorità superiore rispetto a quelle scritte nei file `*.profile`. = Ulteriori risorse = * [[https://firejail.wordpress.com|Sito ufficiale del progetto]] * [[https://github.com/netblue30/firejail|Repository ufficiale dello sviluppo]] * [[https://github.com/netblue30/firejail/discussions|Forum di supporto (in lingua inglese)]] ---- CategorySicurezza CategoryInternet