Quickstart firejail

Ich hatte schon einmal firejail, ein Programm um Anwendungen in Sandboxes vom restlichen System abzuschotten, installiert und damit herumexperimentiert. Aber aus Gründen, an die ich mich nicht mehr erinnere, habe ich es nie wirklich in mein System integriert.

In letzter Zeit ist mir firejail wieder durch Blogeinträge oder diesen Teil einer interessanten Artikelserie ins Gedächtnis gerufen worden und ich werde es nun für so viele Programme wie möglich nutzen.

Installation
installiert es denkbar einfach:
::: {.highlight} # apt install firejail :::
installiert es denkbar einfach:
::: {.highlight} # apt install firejail :::
ach:
::: {.highlight} # apt install firejail :::
Einrichtung und Benutzung
automatisch Symlinks nach /usr/local/bin/ anlegen lassen:
::: {.highlight} # firecfg :::
automatisch Symlinks nach /usr/local/bin/ anlegen lassen:
::: {.highlight} # firecfg :::
automatisch Symlinks nach /usr/local/bin/ anlegen lassen:
::: {.highlight} # firecfg :::
nks nach /usr/local/bin/ anlegen lassen:
::: {.highlight} # firecfg :::

Dadurch genügt es nun das Programm in einem Terminal oder per Alt+F2 mit dem Programmnamen ohne vorangestelltes firejail aufzurufen.

firejail von firecfg angelegt wurden:
::: {.highlight} $ firecfg –list :::
firecfg angelegt wurden:
::: {.highlight} $ firecfg –list :::
sich ebenfalls automatisch mit firecfg beheben:
::: {.highlight} $ firecfg –fix :::
sich ebenfalls automatisch mit firecfg beheben:
::: {.highlight} $ firecfg –fix :::
sich ebenfalls automatisch mit firecfg beheben:
::: {.highlight} $ firecfg –fix :::
firecfg beheben:
::: {.highlight} $ firecfg –fix :::

Dann scannt firecfg die .desktop-Dateien unter /usr/local/share/applications/ nach vollständigen Pfadangaben bei Exec= in den Startern von unterstützten Programmen, kopiert diese nach ~/.local/share/applications/ und trägt dort statt dem kompletten Pfad nur den Namen des binary ein. Nach anschließendem Aus- und Einloggen (bzw. Ausführen von r mittels Alt+F2 bei Gnome3) werden diese Anwendungen nun automatisch in einer Sandbox geöffnet.

einer Sandbox ausgeführt werden:
::: {.highlight} $ firejail –list :::
Oder man lässt sich auch sämtliche Subprozesse mit anzeigen:
::: {.highlight} $ firejail –tree :::
Subprozesse mit anzeigen:
::: {.highlight} $ firejail –tree :::
Eigene Profile anlegen

Möchte man ein Profil abändern erstellt man den Ordner ~/.config/firejail/ und kopiert das entsprechende Profil von /etc/firejail/ in den erstellten Ordner ~/.config/firejail/. Man kann die Profile natürlich auch global in /etc/firejail/ editieren, aber die Änderungen könnten von Updates überschrieben werden.

Möchte man eigene Profile für Programme, für die kein Profil mitgeliefert wird, anlegen macht man dies am Besten unter ~/.config/firejail/$BINARYNAME.profile. Es bietet sich an ein neues Profil auf der Basis von /etc/firejail/default.profile aufzubauen.

Auf die Konfiguration von Profilen werde ich hier (noch?) nicht eingehen, da ich auch noch in der Einarbeitungsphase stecke. Deshalb gibt es hier auch \“nur\” einen Quickstart-Guide. firecfg --fix wird leider in den Blogbeiträgen, die ich bisher zum Theme gelesen habe, nicht erwähnt. Dummerweise habe ich es erst in der manpage gefunden nachdem ich das schon händisch erledigt hatte. 😄

Profile testen [Update 2017-02-25]
Parameter prüft das Defaultprofil:
::: {.highlight} $ firejail –audit :::
Die vorhanden Profile lassen sich prüfen indem man einfach den Programmnamen übergibt:
::: {.highlight} $ firejail –audit firefox :::
Mögliche Sicherheitslöcher werden von firejail dann folgendermaßen berichtet:
::: {.highlight} UGLY: I can access files in /home/martin/.mozilla directory. Use “firejail –blacklist=/home/martin/.mozilla” to block it. :::

I can access files in /home/martin/.mozilla directory. Use “firejail –blacklist=/home/martin/.mozilla” to block it. :::

Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
Eintrag ein:
ein:

::: {.highlight} # Lokale firejail blacklist blacklist ${HOME}/.gnupg blacklist ${HOME}/.mozilla blacklist ${HOME}/.thunderbird :::

Trotzdem sollte man die Programme die man mit firejail in den Berechtigungen einschränkt auch noch einzeln einem Audit unterziehen, da globale Einstellungen in den einzelnen Profilen wieder aufgehoben werden können.

Troubleshooting
Gnome-extensions AddOn im Firefox [Update 2016-12-03]
firefox.profile hinzugefügt habe:
firefox.profile hinzugefügt habe:
firefox.profile hinzugefügt habe:
firefox.profile hinzugefügt habe:
file` hinzugefügt habe:

::: {.highlight} noblacklist ~/.local/share/gnome-shell/extensions/ whitelist ~/.local/share/gnome-shell/extensions/ :::

Das komplette Profil sieht nun so aus:

::: {.highlight} # Firejail profile for Mozilla Firefox (Iceweasel in Debian)

noblacklist ~/.mozilla
noblacklist ~/.cache/mozilla
noblacklist ~/.local/share/gnome-shell/extensions/
include /etc/firejail/disable-common.inc
include /etc/firejail/disable-programs.inc
include /etc/firejail/disable-devel.inc

caps.drop all
netfilter
nonewprivs
noroot
protocol unix,inet,inet6,netlink
seccomp
tracelog

whitelist ${DOWNLOADS}
mkdir ~/.mozilla
whitelist ~/.mozilla
mkdir ~/.cache/mozilla/firefox
whitelist ~/.cache/mozilla/firefox
whitelist ~/dwhelper
whitelist ~/.zotero
whitelist ~/.vimperatorrc
whitelist ~/.vimperator
whitelist ~/.pentadactylrc
whitelist ~/.pentadactyl
whitelist ~/.keysnail.js
whitelist ~/.config/gnome-mplayer
whitelist ~/.cache/gnome-mplayer/plugin
whitelist ~/.pki

# Gnome-Shell AddOn
whitelist ~/.local/share/gnome-shell/extensions/

# lastpass, keepassx
whitelist ~/.keepassx
whitelist ~/.config/keepassx
whitelist ~/keepassx.kdbx
whitelist ~/.lastpass
whitelist ~/.config/lastpass


#silverlight
whitelist ~/.wine-pipelight
whitelist ~/.wine-pipelight64
whitelist ~/.config/pipelight-widevine
whitelist ~/.config/pipelight-silverlight5.1

include /etc/firejail/whitelist-common.inc

# experimental features
#private-etc passwd,group,hostname,hosts,localtime,nsswitch.conf,resolv.conf,gtk-2.0,pango,fonts,iceweasel,firefox,adobe,mime.types,mailcap,asound.conf,pulse

:::

Inhalt

Teilen: E-Mail

Hinterlasse einen Kommentar oder diskutiere im OSBN-Chat.

In den Kommentaren können folgende Formatierungen genutzt werden.