Dimensione: 80
Commento:
|
Dimensione: 7095
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
Inserisci una descrizione per Carlin0/lab ----- Pagina sperimentale di prova |
## page created by Carlin0 #format wiki #LANGUAGE it <<BR>> <<Include(NuoviStrumentiWiki/PaginaDiProva)>> <<Indice(depth=2)>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t="; rilasci="20.04")>> = 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]]. ## Non serve specificare tutti i pacchetti se dipendenze. {{{#!wiki note Esiste anche un'interfaccia grafica basata sulle librerie [[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]], installabile tramite il [[apt://firetools|firetools]], ma non lo tratteremo in questa pagina poiché non consente di sfruttare le molteplici possibilità che si hanno operando dal [[AmministrazioneSistema/Terminale|terminale]], grazie a tutte le opzioni disponibili. }}} ##Forse sarebbe meglio implementare 2 righe sull'interfaccia grafica, = 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 <nome_programma> }}} 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 sue configurazioni dell'applicazione, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ firejail --private <nome_programma> }}} Ad esempio:{{{ firejail --private firefox firejail --private telegram-desktop }}} 0. Listare i programmi che usano '''firejail''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ 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 }}} Risultato più completo:{{{ firejail --tree }}} 0. Listare i collegamenti simbolici creati a '''firejail''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ 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 nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo firecfg --clean }}} 0. Per eliminare solo un collegamento simbolico definito, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo rm /usr/local/bin/nome_programma }}} Ad esempio:{{{ sudo rm /usr/local/bin/hexchat }}} 0. Per uccidere un processo in sandbox ,digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ firejail --shutdown=PID }}} 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ù ad avviare l'applicazione in sandbox esistono due opzioni. == Singola applicazione == Questa opzione consente di predefinire quale/i applicazione/i 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 configura d'avviare tutte le applicazioni in sandbox. {{{#!wiki important Questa modalità è limitativa del funzionamento delle applicazioni, poiché imposta configurazioni estremamente restrittive nell'uso delle applicazioni. }}} 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 la riga/he desiderata/e. == File local == 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/.config/firejail`. 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `<nome applicazione>.local` Ad esempio:{{{ touch ~/.config/firejail/firefox.local touch ~/.config/firejail/telegram.local }}} 0. Scrivere le impostazioni desiderate. 0. Salvare e chiudere l'editor 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 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 il sistema. ##Si consiglia pressoché sempre il riavvio per essere certi che le configurazioni siano applicate. = 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 |
Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Firejail è un programma sandbox SUID di sicurezza che riduce il rischio di falle nella sicurezza restringendo l'ambiente di esecuzione di applicazioni non fidate, usando namespace Linux e seccomp-bpf.
Permette ad un processo e tutti i suoi discendenti di avere la propria vista privata delle risorse del kernel globalmente condivise, come lo stack di rete, la tabella dei processi e la tabella dei montaggi.
Installazione
Installare il pacchetto firejail.
Esiste anche un'interfaccia grafica basata sulle librerie Qt, installabile tramite il firetools, ma non lo tratteremo in questa pagina poiché non consente di sfruttare le molteplici possibilità che si hanno operando dal terminale, grazie a tutte le opzioni disponibili.
Funzionamento
Vengono presi come esempi le applicazioni Firefox e Telegram Desktop.
Avviare un programma in sandbox digitare nel terminale:
firejail <nome_programma>
Ad esempio:
firejail firefox firejail telegram-desktop
Avviare un programma in modalità privata, per inibire il programma a leggere i file della propria Home comprese le sue configurazioni dell'applicazione, digitare nel terminale:
firejail --private <nome_programma>
Ad esempio:
firejail --private firefox firejail --private telegram-desktop
Listare i programmi che usano firejail, digitare nel terminale:
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
Risultato più completo:
firejail --tree
Listare i collegamenti simbolici creati a firejail, digitare nel terminale:
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
Per eliminare tutti i collegamenti simbolici creati a firejail, digitare nel terminale:
sudo firecfg --clean
Per eliminare solo un collegamento simbolico definito, digitare nel terminale:
sudo rm /usr/local/bin/nome_programma
Ad esempio:
sudo rm /usr/local/bin/hexchat
Per uccidere un processo in sandbox ,digitare nel terminale:
firejail --shutdown=PID
Per ulteriori opzioni e impostazioni, consultare le pagine man firejail e firecfg.
Integrazione Desktop
Per configurare il menù ad avviare l'applicazione in sandbox esistono due opzioni.
Singola applicazione
Questa opzione consente di predefinire quale/i applicazione/i avviare in sandbox
Digitare nel 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 configura d'avviare tutte le applicazioni in sandbox.
Questa modalità è limitativa del funzionamento delle applicazioni, poiché imposta configurazioni estremamente restrittive nell'uso delle applicazioni.
Digitare nel terminale:
sudo firecfg
Profili personalizzati
Ci sono due modalità per personalizzare i profili.
File profile
Creare la cartella ~/.config/firejail.
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
Aprire con un editor di testo i file *.profile copiati e aggiungere o commentare la riga/he desiderata/e.
File local
Creare la cartella ~/.config/firejail.
Aprire con un editor di testo il file <nome applicazione>.local
Ad esempio:
touch ~/.config/firejail/firefox.local touch ~/.config/firejail/telegram.local
- Scrivere le impostazioni desiderate.
- Salvare e chiudere l'editor
Ad esempio per configurare firefox ad accedere a 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 nell'ambiente grafico Xfce, a ignorare 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 il sistema.
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.