Dimensione: 7095
Commento:
|
Dimensione: 7095
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 114: | Linea 114: |
}}}per esempio {{{ | }}}Per esempio {{{ |
Guida verificata con Ubuntu: 20.04
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 i pacchetti firejail e firejail-profiles.
Esiste anche un frontend basato su Qt che si chiama firetools ma non lo tratteremo in questa pagina poichè nonostante il suo uso sia molto semplice e intuitivo, non consente di sfruttare le molteplici possibilità che si hanno agendo da riga di comando grazie a tutte le opzioni disponibili.
Funzionamento
Verranno fatti alcuni esempio usando le applicazioni Firefox e Telegram Desktop che sono di uso molto comune.
Per avviare un programma in sandbox digitare nel terminale:
firejail <nome_programma>
Per esempio
firejail firefox firejail telegram-desktop
Per avviare un programma in modalità modalità privata che prevede che il programma non legga nessun file nella propria Home comprese le sue configurazioni già salvate digitare nel terminale:
firejail --private <nome_programma>
Per esempio
firejail --private firefox
Per vedere quali programmi stanno usando firejail digitare nel terminale:
firejail --list
riceveremo una risposta simile a questa
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
o per un output più completo
firejail --tree
Per elencare i link simbolici creati a firejail digitare nel terminale:
firecfg --list
riceveremo una risposta simile a questa
/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 link simbolici creati a firejail digitare nel terminale:
sudo firecfg --clean
Per rimuovere solo un determinato link simbolico digitare nel terminale:
sudo rm /usr/local/bin/nome_programma
Per uccidere/killare un processo in sandbox digitare nel terminale:
firejail --shutdown=PID
Per ottenere un elenco completo delle opzioni disponibili da firejail leggere i relativi man digitando nel terminale:
man firejail man firecfg
Integrazione Desktop
Ovvero, creare delle impostazioni che facciano in modo che avviando un programma normalmente dal Menù esso venga avviato in sandbox.
A tale proposito ci sono 2 modi per farlo:
Generalizzato
Attenzione: questa modalità è altamente sconsigliata in quanto imposta configurazioni estremamente restrittive che rendono molto più difficoltoso l'uso di determinati programmi.
Ovvero creare configurazioni per tutti i programmi installati in modo che vengano avviati tutti in sandbox:
digitare nel terminale:
sudo firecfg
oppure
Selettivo
Modalità consigliata
Ovvero creare configurazioni che rendano solo determinati programmi in sandbox se avviati dal normale Menù, questo si ottiene creando dei link simbolici:
digitare nel terminale:
sudo ln -s /usr/bin/firejail /usr/local/bin/nome_programma
Per esempio
sudo ln -s /usr/bin/firejail /usr/local/bin/firefox sudo ln -s /usr/bin/firejail /usr/local/bin/telegram-desktop
Profili personalizzati
Anche qui abbiamo 2 modi per farlo.
File profile
Creare la cartella ~/.config/firejail.
Copiare i file *.profile che desideriamo modificare dalla cartella /etc/firejail/ a quella appena creata.
Per esempio:
cp /etc/firejail/firefox.profile ~/.config/firejail cp /etc/firejail/telegram.profile ~/.config/firejail
Aprire con un editor di testo i file *.profile appena copiati e aggiungere o rimuovere (va bene anche commentare la riga) le impostazioni desiderate.
File local
Modalità consigliata
Creare la cartella ~/.config/firejail.
Creare i file *.local di cui ci interessa aggiungere parametri nella cartella che è stata appena creata.
Per esempio:
touch ~/.config/firejail/firefox.local touch ~/.config/firejail/telegram.local
Aprire con un editor di testo i file *.local e aggiungere le impostazioni desiderate.
Per esempio se vogliamo che firefox possa accedere anche a eventuali partizioni montate nel sistema o altri dispositivi, scrivere nel file firefox.local le seguenti righe:
whitelist /media ignore disable-mnt
Oppure se usiamo come ambiente grafico Xfce scrivere nel file telegram.local le seguenti righe:
ignore dbus-user.talk org.kde.StatusNotifierWatcher ignore dbus-user.talk org.gnome.Mutter.IdleMonitor
Priorità dei file
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