Die grafische Benutzeroberfläche Firetools vereinfacht die Nutzung der Sicherheitssoftware Firejail und liefert obendrein nützliche Statistiken und Übersichten.
Das Konsolenprogramm Firejail startet Prozesse jeweils in eigenen sogenannten Sandboxen. Diese gegeneinander abgeschotteten Gefängnisse begrenzen den Zugriff auf das restliche System. Übernimmt etwa ein Angreifer über eine Sicherheitslücke den Webbrowser, bleibt er in der Sandbox gefangen, ohne weiteren Schaden anzurichten. Allerdings gilt es, das nützliche Tool umständlich über zahlreiche Parameter auf der Kommandozeile zu steuern [1].
Deswegen entwickelten die Entwickler von Firejail das Werkzeug Firetools, eine grafische Benutzeroberfläche für Firejail. Sie basiert auf dem Framework Qt4, das unter anderem auch KDE 4 verwendet. Trotz der schon recht hohen Versionsnummer 0.9.26.1 begann die Entwicklung von Firetools erst im Frühjahr 2015. Der Funktionsumfang des jungen Werkzeugs gestaltet sich daher noch überschaubar, die Kernfunktionen stehen aber. So genügt ein schlichter Doppelklick, um eine Anwendung in einer Sandbox zu starten. Statistiken erlauben darüber hinaus die Kontrolle des Programms.
Installation
Auf der Firejail-Homepage finden Sie Binärpakete für Debian, Ubuntu, Linux Mint, Fedora, OpenSuse, CentOS 7 und RHEL 7 [2]. Während für Debian, Ubuntu und Mint auch 32-Bit-Versionen bereitstehen, setzen die Pakete für die übrigen Distributionen zwingend ein 64-Bit-System voraus. Anwender von Arch Linux finden Firejail im AUR [3], Pakete für Slackware liefert das SlackBuilds Directory [4]. In jedem Fall spielen Sie das heruntergeladene Paket über den Paketmanager der verwendeten Distribution ein.
Fehlt ein Paket für die von Ihnen genutzte Distribution, müssen Sie Firejail per Hand übersetzen. Dazu installieren Sie zunächst über den Paketmanager einen C-Compiler, Make und die Kernel-Header. Dann entpacken Sie das von der Firejail-Website heruntergeladene Quellarchiv, wechseln in das dabei neu entstandene Verzeichnis und installieren Firejail mit dem klassischen Dreisprung (Listing 1). Neben Firejail und Qt4 (meist im Paket libqt4) verlangt Firetools das Terminalprogramm Xterm, das die meisten Distributionen bereits mitbringen.
Listing 1
$ ./configure && make && sudo make install
Je nach Distribution finden Sie Firetools nach der Installation im Startmenü beziehungsweise unter Ubuntu über das Dash. Dort taucht das Werkzeug als Firejail Tools auf. Im Zweifelsfall drücken Sie [Alt]+[F2] (oder öffnen ein Terminal) und starten das Programm mit dem Aufruf firetools.
Hinter Gitter
Mit einem Doppelklick auf eines der Symbole im rot gefärbten Hauptfenster von Firetools (Abbildung 1) starten Sie das entsprechende Programm in einer Sandbox. So öffnet ein Doppelklick auf die Weltkugel beispielsweise den Webbrowser Firefox in einer abgesicherten Umgebung. Alternativ rechtsklicken Sie auf ein Symbol und wählen aus dem Kontextmenü Run. Hinter dem Terminal-Symbol verbirgt sich übrigens Xterm, nicht etwa die von der verwendeten Desktop-Umgebung angebotene Terminalemulation.
Um das rote Fenster zu verschieben, platzieren Sie den Mauszeiger darauf. Halten Sie dann die linke Maustaste gedrückt und ziehen Sie das Fenster an die gewünschte Position. Ein Klick auf den kleinen weißen Strich rechts oben in der Ecke minimiert das Fenster. Unter Ubuntu bleibt dann nur noch ein Symbol rechts oben im Panel zurück. Um das Fenster wieder anzuzeigen, klicken Sie das Symbol an und wählen Restore.

Abbildung 1: Ein Klick auf das jeweilige Icon genügt, um das Programm mit Firejail in einer sicheren Sandbox zu starten.
Das rote Hauptfenster verwaltet derzeit maximal zwölf Anwendungen. Um ein eigenes Programm hinzuzufügen, klicken Sie mit der rechten Maustaste auf einen noch freien Platz und wählen Edit. Im Fenster aus Abbildung 2 geben Sie jetzt den Namen des Programms an sowie eine Beschreibung, die später im Tool-Tipp erscheint. Unter Command hinterlegen Sie das Firejail-Kommando, mit dem Firetools die Anwendung in eine Sandbox sperrt. Für eine einfache Sandbox genügt es, firejail gefolgt vom Programmnamen einzutippen.

Abbildung 2: In den Einstellungen des jeweiligen Eintrags geben Sie das Firejail-Kommando vor. In diesem Beispiel würde Firetools den Dokumentenbetrachter Evince starten.
Listing 2
$ firejail --seccomp --caps.drop=all libreoffice
Sie erhöhen die Sicherheit, indem Sie über entsprechende Parameter zwei zusätzliche Sicherheitsmechanismen des Kernels aktivieren. Das Beispiel aus Listing 2 sperrt auf diese Weise LibreOffice ein. Doch Vorsicht: Firetools ruft tatsächlich nur den hier hinterlegten Befehl auf. Insbesondere stellt es nicht sicher, dass die Anwendung in einer Sandbox läuft. Wenn Sie etwa nur firefox in das Feld eintippen, startet Firetools folglich den Browser außerhalb eines Gefängnisses.
Die Angaben lassen sich nachträglich ändern, indem Sie im roten Hauptfenster über dem entsprechenden Programm die rechte Maustaste drücken und dann Edit wählen. Um ein Programm aus dem Fenster zu entfernen, wählen Sie Delete aus dem Kontextmenü. Das funktioniert allerdings nur mit von Ihnen hinzugefügten Programmen; die bereits vorhandenen Symbole lassen sich nicht löschen, sondern nur via Edit nachbearbeiten.
Es gibt noch mehr Unzulänglichkeiten: So dürfen Sie keine eigenen Symbole einbinden. Die von Ihnen hinzugefügten Programme erscheinen nur mit einem Text. Des Weiteren vergisst Firetools in der Version aktuellen Version 0.9.26.1 sämtliche Einstellungen, sobald Sie das Fenster mit einem Rechtsklick und der Wahl von Quit beenden. Das gilt sowohl für editierte als auch neue Einträge.
Nützlicher Werkzeugkasten
Klicken Sie im Firetools-Fenster auf den Schriftzug Firetools oder wählen im Kontextmenü den Punkt Tools, so öffnet sich ein Fenster, das alle derzeit laufenden Sandboxen samt einigen relevanten Zusatzinformationen auflistet. In Abbildung 3 läuft Firefox etwa unter der Prozess-ID 19090, belegt 0,20 Prozent der Prozessorzeit und nimmt 268?296 Kibibyte Hauptspeicher in Beschlag. Das Programm wurde von Firetools mit dem Befehl firejail firefox gestartet (Command) und sendet momentan weder Daten (TX(KB/sec)), noch empfängt es welche (RX(KB/sec)). Die Daten aktualisiert Firetools permanent; im Test funktionierten jedoch die RX/TX-Zähler nicht und standen stets auf 0.

Abbildung 3: Die Prozessanalyse der Firetools listet alle damit gestarteten Programme auf. Hier laufen ein Terminal und Firefox jeweils in einer eigenen Sandbox.
Mit einem Klick auf eine Prozess-ID erhalten Sie detailliertere Informationen (Abbildung 4). Die Ansicht zeigt in zwei Kurven die Prozessorauslastung und den Speicherverbrauch des jeweiligen Prozesses in den letzten Minuten. Ungewöhnliche Ausschläge können dabei auf Angriffsversuche oder einen Amoklauf des Prozesses hindeuten. Um den Prozess zu killen, klicken Sie auf Shutdown. Der Process-Tree zeigt an, welche Unterprozesse die eingesperrte Anwendung gestartet hat. Diese Prozesse laufen dabei in der gleichen Sandbox. Per Join öffnen Sie eine Shell in eben dieser Sandbox. Das erweist sich etwa als nützlich, um die Prozesse in der Sandbox zu untersuchen oder kontrolliert zu beenden.
Das Analysefenster enthält noch die zwei Punkte Seccomp und Capabilities. Besteht die Hexadezimalzahl hinter Capabilities nicht komplett aus Nullen, darf der Prozess auf eine oder mehrere Systemfunktionen zugreifen. Um zu erfahren, um welche Funktionen es sich dabei im Einzelnen handelt, klicken Sie auf die Hexadezimalzahl (Abbildung 5). Steht Seccomp auf enabled, verbietet das System dem Prozess einige sicherheitskritische Aktionen. Unter anderem darf er dann keine Programme mit Root-Rechten (SUID) starten. Klicken Sie auf enabled, so erhalten Sie eine Liste aller unzulässigen Systemfunktionen und Aktionen (Abbildung 6). Um gezielt eine der Funktionen zu verbieten oder zu erlauben, müssen Sie Firejail entsprechende Parameter mitgeben, die unser Artikel in Ausgabe 04/2015 bereits ausführlich vorgestellt hat [1]. Firetools selbst bietet dafür im Moment noch keine Möglichkeiten.

Capabilities auch alle von Firejail verbotenen Systemfunktionen an.” width=”175″ height=”300″ />
Abbildung 5: Firetools zeigt nach einem Klick aufCapabilities auch alle von Firejail verbotenen Systemfunktionen an.
Abbildung 6: Der sogenannte Seccomp-Filter verbietet hier dem Prozess unter anderem das Mounten von Dateisystemen.
Über den Eintrag DNS öffnen Sie die aktuell auf dem System geltenden DNS-Einstellungen, ein Klick auf Home kehrt wieder in die Übersicht zurück. Dort erscheinen übrigens immer alle Firejail-Sandboxen, auch solche, die Sie in einem separaten Terminal an Firetools vorbei gestartet haben.
Fazit
Dass die Entwicklung von Firetools erst im Frühling 2015 begann, zeigt sich nicht zuletzt noch deutlich am recht reduzierten Funktionsumfang. Besonders unangenehm fällt auf, dass das Hauptfenster alle hinzugefügten Programme nach dem Beenden wieder vergisst, was das Tool in seiner jetzigen Form mehr oder weniger zum Anschauungsobjekt degradiert. Benötigen Sie eine bestimmte Funktion von Firejail, müssen Sie zudem die entsprechenden Parameter an den Programmaufruf anhängen. Die laufend aktualisierten Statistiken im Tools-Fenster geben immerhin einen guten und schnellen Überblick über die laufenden Prozesse. Sofern die Entwickler die beschriebenen Probleme zeitnah beheben, stellt Firetools ein durchaus brauchbares Werkzeug für den Umgang mit Firejail dar.
Infos
[1] Firejail: Tim Schürmann, “Heiße Zelle”, LU 04/2015, S. 84, https://www.linux-community.de/33890
[2] Firejail und Firetools herunterladen: https://l3net.wordpress.com/projects/firejail/#downloads
[3] AUR für Firejail: https://aur.archlinux.org/packages/firejail
[4] Firejail im Slackbuild-Repository: http://slackbuilds.org/repository/14.1/system/firejail/?search=firejail







Ich habe das Programm Firetools für mein Linux mint eingesetzt. Nach der Konfiguration sollte es Chromium vor Cyberkriminellen schützen. Das hat auch zunächst wunderbar funktioniert, jedenfalls beim Serven gab es keinerlei Probleme. Ich dachte, ich könnte Firetools für alle anderen Zwecke nach dem Aufruf von Chromium auch nutzen, z.B. für Mails oder bei Portalen einer Krankenkasse. Ich musste aber feststellen, dass es bei verschiedenen anderen Anwendungen fatale Fehlfunktionen gab, die ich zunächst gar nicht auf Firetools zurückgeführt habe. Drei Beispiele: Ich wollte eine Mail mit einer angehängten Datei versenden. Hat nicht geklappt. Es gab Fehlermeldungen und die Mail konnte nicht… Mehr »