## 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