Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 129 del 24/12/2021 16.16.32

Nascondi questo messaggio

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

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>

    ad esempio

    firejail --private firefox
  • Per avviare una appimage in sandbox digitare nel terminale:

    firejail --appimage <nome_programma>
  • 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 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 digitando 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 digitando 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

  1. Creare la cartella ~/.config/firejail.

  2. 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
  3. Aprire con un editor di testo i file *.profile appena copiati e aggiungere i parametri desiderati

File local

  1. Creare la cartella ~/.config/firejail.

  2. Creare i file *.local di cui ci interessa aggiungere parametri.

Per esempio:

touch ~/.config/firejail/firefox.local
touch ~/.config/firejail/telegram.local