Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Virtualizzazione/VirtManager"
Differenze tra le versioni 143 e 145 (in 2 versioni)
Versione 143 del 29/12/2021 16.26.51
Dimensione: 7187
Autore: carlin0
Commento:
Versione 145 del 14/01/2022 00.17.38
Dimensione: 7095
Autore: carlin0
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice(depth=2)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t="; rilasci="20.04")>>
Linea 6: Linea 9:
###
<<Indice(depth=2 align=right)>>
<<Informazioni(rilasci="20.04")>>
Linea 12: Linea 12:
'''Firejail''' è un programma [[https://it.wikipedia.org/wiki/Sandbox_(sicurezza_informatica)|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. '''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]].
Linea 16: Linea 16:
Linea 18: Linea 19:
 [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://firejail|firejail]] e [[apt://firejail-profiles|firejail-profiles]].  [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://firejail|firejail]].

##
Non serve specificare tutti i pacchetti se dipendenze.
Linea 20: Linea 24:
Esiste anche un frontend basato su Qt che si chiama [[apt://firetools|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. 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.
Linea 23: Linea 27:
##Forse sarebbe meglio implementare 2 righe sull'interfaccia grafica,

Linea 24: Linea 31:
{{{#!wiki note
Verranno fatti alcuni esempio usando le applicazioni '''Firefox''' e '''Telegram Desktop''' che sono di uso molto comune.
}}}
Linea 28: Linea 32:
 0. Per avviare un programma in sandbox digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ 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]]:{{{
Linea 30: Linea 36:
}}}Per esempio{{{ }}} Ad esempio:{{{
Linea 34: Linea 40:

0. 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 [[AmministrazioneSistema/Terminale|terminale]]: {{{
 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]]:{{{
Linea 37: Linea 42:
}}}Per esempio{{{ }}} Ad esempio:{{{
Linea 39: Linea 44:
firejail --private telegram-desktop
Linea 40: Linea 46:

0. Per vedere quali programmi stanno usando '''firejail''' digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Listare i programmi che usano '''firejail''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 43: Linea 48:
}}}riceveremo una risposta simile a questa{{{ }}} Viene mostrato un risultato simile a questo:{{{
Linea 47: Linea 52:
}}}in alternativa{{{ }}} In alternativa:{{{
Linea 49: Linea 54:
}}}o per un output più completo{{{ }}} Risultato più completo:{{{
Linea 52: Linea 57:

0. Per elencare i link simbolici creati a '''firejail''' digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Listare i collegamenti simbolici creati a '''firejail''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 55: Linea 59:
}}}riceveremo una risposta simile a questa{{{ }}} Viene mostrato un risultato simile a questo:{{{
Linea 64: Linea 68:

0. Per eliminare tutti i link simbolici creati a '''firejail''' digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Per eliminare tutti i collegamenti simbolici creati a '''firejail''', digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 68: Linea 71:

0. Per rimuovere solo un determinato link simbolico digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Per eliminare solo un collegamento simbolico definito, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 71: Linea 73:
}}} Ad esempio:{{{
sudo rm /usr/local/bin/hexchat
Linea 72: Linea 76:

0. Per uccidere/killare un processo in sandbox digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Per uccidere un processo in sandbox ,digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 77: Linea 80:
 0. Per ottenere un elenco completo delle opzioni disponibili da '''firejail''' leggere i relativi '''man''' digitando nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
man firejail
man firecfg
}}}
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]].
Linea 84: Linea 85:
Ovvero, creare delle impostazioni che facciano in modo che avviando un programma normalmente dal '''Menù''' esso venga avviato in sandbox. Per configurare il menù ad avviare l'applicazione in sandbox esistono due opzioni.
Linea 86: Linea 87:
{{{#!wiki note
A tale proposito ci sono 2 modi per farlo:
}}}
== Singola applicazione ==
Linea 90: Linea 89:
== Generalizzato == Questa opzione consente di predefinire quale/i applicazione/i avviare in sandbox
Linea 92: Linea 91:
{{{#!wiki important
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 [[AmministrazioneSistema/Terminale|terminale]]: {{{
sudo firecfg
}}}

'''''oppure'''''

== Selettivo ==

{{{#!wiki tip
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 [[AmministrazioneSistema/Terminale|terminale]]: {{{
Digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Linea 114: Linea 93:
}}}Per esempio {{{ }}} Ad esempio:{{{
Linea 119: Linea 98:
== 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
}}}

Linea 121: Linea 113:
{{{#!wiki note
Anche qui abbiamo 2 modi per farlo.
}}}
Ci sono due modalità per personalizzare i profili.
Linea 127: Linea 117:
 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/.config/firejail`.

 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#cp|Copiare]] i file `*.profile` che desideriamo modificare dalla cartella `/etc/firejail/` a quella appena creata.

 Per esempio: {{{
 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:{{{
Linea 135: Linea 123:

0. Aprire con un [[https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto|editor di testo]] i file `*.profile` appena copiati e aggiungere o rimuovere (va bene anche commentare la riga) le impostazioni desiderate.
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] i file `*.profile` copiati e aggiungere o commentare la riga/he desiderata/e.
Linea 140: Linea 127:
{{{#!wiki tip
Modalità consigliata
}}}

 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella `~/.config/firejail`.

 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/ComandiBase#touch|Creare]] i file `*.local` di cui ci interessa aggiungere parametri nella cartella che è stata appena creata.

 Per esempio: {{{
 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:{{{
Linea 152: Linea 133:

 0. Aprire con un [[https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto|editor di testo]] i file `*.local` e aggiungere le impostazioni desiderate.

 Per esempio se vogliamo ch
e '''firefox''' possa accedere anche a eventuali [[Hardware/DispositiviPartizioni/Partizioni|partizioni]] montate nel sistema o altri dispositivi, scrivere nel file `firefox.local` le seguenti righe: {{{
 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:{{{
Linea 159: Linea 139:

 O
ppure se usiamo come [[AmbienteGrafico|ambiente grafico]] [[AmbienteGrafico/Xfce|Xfce]] scrivere nel file `telegram.local` le seguenti righe: {{{
  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: {{{
Linea 165: Linea 144:
== Priorità dei file == Al termine riavviare il sistema.
Linea 167: Linea 146:
 0. Le impostazioni scritte nei file `*.profile` che sono nella '''Home''' hanno priorità superiore rispetto a quelle scritte nei file `*.profile` in `/etc/firejail`. ##Si consiglia pressoché sempre il riavvio per essere certi che le configurazioni siano applicate.
Linea 169: Linea 148:
 0. Le impostazioni scritte nei file `*.local` hanno priorità superiore rispetto a quelle scritte nei file `*.profile`. = 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`.
Linea 174: Linea 158:
Linea 176: Linea 159:


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

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.

  1. Avviare un programma in sandbox digitare nel terminale:

    firejail <nome_programma>

    Ad esempio:

    firejail firefox
    firejail telegram-desktop
  2. 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
  3. 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
  4. 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
  5. Per eliminare tutti i collegamenti simbolici creati a firejail, digitare nel terminale:

    sudo firecfg --clean
  6. 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
  7. 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

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

  2. 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
  3. Aprire con un editor di testo i file *.profile copiati e aggiungere o commentare la riga/he desiderata/e.

File local

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

  2. Aprire con un editor di testo il file <nome applicazione>.local

    • Ad esempio:

      touch ~/.config/firejail/firefox.local
      touch ~/.config/firejail/telegram.local
  3. Scrivere le impostazioni desiderate.
  4. 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.

Ulteriori risorse


CategorySicurezza