Firejail

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Sicherheit ‹ Firejail


Baustelle.png Baustelle: Dieser Artikel ist eine Baustelle. Das heißt, jemand hat sich dieses Artikels angenommen und überarbeitet ihn gerade.


Diese Seite soll einen Überblick über die Einrichtung von Sandboxen mit firejail, dessen Anwendung und Funktionen bereitstellen.

Was ist firejail

Mit Debianpackage.png firejail kann man auf relativ einfache Weise Anwendungen in eine Sandbox einsperren. D.h. die Programme bekommen nur Zugriff auf bestimmte Daten, Devices oder Prozesse und sind von anderen Programmen abgeschottet.

ToDo: Funktionsweise Sandboxen genauer erklären. Quellen. Link zur Projektseite.

Installation

Da firejail ab Stretch in den Debian-Quellen, bzw. für Jessie in den Backports, vorhanden ist gestaltet sich die Installation einfach. Man muss lediglich das Paket firejail mit dem bevorzugten Paketmanager installieren, z.B. mit Debianpackage.png apt:

root@debian:~# apt install firejail

Einrichtung

Für viele Programme sind schon Profile unter /etc/firejail vorhanden und man kann diese einfach nutzen, indem man die Anwendung per firejail $PROGRAMMNAME aufruft. Per firecfg kann man sich für in­stal­lier­te Programme, für die ein Profil vorhanden ist, fol­gen­der­ma­ßen au­to­ma­tisch Symlinks nach /usr/local/bin/ anlegen lassen:

root@debian:~# firecfg

Dadurch genügt es nun das Programm in einem Terminal oder per Alt+F2 mit dem Pro­gramm­na­men ohne vor­an­ge­stell­tes firejail aufzurufen.

Mit folgendem Befehl kann man sich anzeigen lassen, welche Symlinks zu firejail von firecfg angelegt wurden:

user@debian:~$ firecfg --list

Da viele Pro­gramm­star­ter (.desktop-Dateien) unter /usr/local/share/applications/ den kompletten Pfad zum binary enthalten funk­tio­nie­ren die Ver­knüp­fun­gen aus den Menüs der Desk­to­p­um­ge­bun­gen für diese Programme nicht mit firejail. Das lässt sich ebenfalls au­to­ma­tisch mit firecfg beheben:

user@debian:~$ firecfg --fix

Parameter

ToDO: Übersicht über Parameter (in *.profile und Programmaufruf)

Erstellen eigener Profile

Beispiele

Troubleshooting