Firejail

  • Hallo zusammen,


    bevor ich mich in anderen Foren anmelde und dort nachfrage, mal eine Frage in die Runde. Kennt sich einer der Linuxer hier mit Firejail aus? Ich kämpfe schon seit ein paar Stunden.

    Die mitgelieferte firefox.profiles scheint für Firefox >60 nicht zu passen. Möglicherweise trifft es auch auf Thunderbird zu. Das habe ich noch nicht genauer ausprobiert, weil es hier nicht so wichtig ist.


    Firefox startet, bleibt danach aber leer. Das war in unserem Kurs nicht so. :-)

    Mit --no-profile tritt das Problem nicht auf. Das ist nur leider nicht Sinn der Sache.



    Kubuntu 18.04, openSUSE Leap

  • Vielen Dank!


    Die Github-Version ist für mich keine Option. Bei so einem Werkzeug möchte ich die Version der jeweiligen Distribution verwenden. Das empfehlen auch die Programmierer.


    Der Hinweis des Users Brick hat aber die halbe Lösung gebracht. Die andere Hälfte kam vor wenigen Minuten von einem der Kursleiter, zu dem ich per Mail Kontakt aufgenommen hatte. Von dort kam der Wink auf seccomb-bf.

    Diese Information findet man auch in dem Report 1939, den man wiederum auch über den Link von brick auf Report 1935 finden kann.


    Es gibt zwei Baustellen. Eine im Tracing (1935), die andere im seccomb-bf (1939)


    Zitat

    We had to take out chroot from the seccomp filter to get Firefox working. If you replace seccomp with the following long line it should work again:

    https://github.com/netblue30/firejail/issues/1939


    Ich habe also das Tracelog deaktiviert und seccomb wie dort vorgeschlagen ohne chroot aktiviert. (Die Benutzung von chroot ist gemäß des Links von Sören Hentzschel eine Änderung des Sandboxing in Firefox 60.)


    Das hat funktioniert! Bin begeistert.


    Nebenbei, auch wenn es Sören Hentzschel seinen eigenen Worten gemäß wohl nie verstehen wird (oder will). Firejail macht eben nicht genau das, was Firefox bereits macht oder kann.


    Firejail separiert den kompletten Firefox und kann so vor Zero-Day-Exploits schützen, die im Firefox noch gar nicht gefixt sind. Das kann das Sandboxing des Firefox logischerweise nicht.

    Genau das ist die Idee dahinter. Noch nicht geschlossene Sicherheitslücken anderer Programme dadurch abzufangen, dass man diese Programme abkapselt.


    Wie man sieht, erfordert es hier und da etwas Aufwand, Geduld und manchmal die Hilfe anderer, aber es macht die Sache sicherer. Einfacher als über AppAmor ist es allemal.


    Dazu auch Linux härten, Teil 4

  • Nach dem Erfolg bzgl. seccomb, eine letzte Rückmeldung zu diesem Thema.


    Ich habe noch etwas Feintuning vorgenommen und u.a. Verzeichnisse, die es in der jeweiligen Distribution nicht gibt oder die für mich nicht relevant sind (z.B. .lastpast), aus der Whitelist genommen.

    Eine weitere Anpassung war nötig, weil ich das Firefox-Profil für den täglichen Gebrauch ins RAM auslagere.


    Alles in allem hat es nochmals etwas Zeit gekostet, aber es hat sich gelohnt. Die Tests verliefen alle erfolgreich. Meine Erweiterungen

    funktionieren, alle getesteten Seiten von Shops, der Bank und auch solche mit DRM-Schutz laufen korrekt.


    Falls jemand den User brick triff, einen lieben Gruß an ihn.


    Ich möchte noch etwas berichten, worüber ich mich freue, auch wenn es nicht direkt mit Firejail zu tun hat.

    Der Lynis-Scan (den gibt es übrigens auch für die macOS-User), als Maß für die Härtung eines Systems, zeigt mir zusammenfassend:


    Code
    1. Lynis security scan details:
    2. Hardening index : 74 [############## ]
    3. Tests performed : 218


    Nach der Standardinstallation von Kubuntu 18.04 betrug der Wert 53%. Da sind meine inzwischen erreichten 74% für einen Desktop schon sehr ordentlich. Der Wert ließe sich noch erhöhen, aber die verbliebenen Hinweise betreffen Risiken, denen ich mich eher nicht ausgesetzt sehe.


    Damit ist eine weitere Maßnahme auf dem Weg zu einem möglichst sicheren PC auf einem guten Weg.

  • Hallo Ruhezone,


    vielen Dank für Deine Mitteilung.


    Irgendwo in einem der github-Fäden habe ich gelesen, dass die Problematik wegen Firefox 60 (und ich denke dann logischerweise parallel für Thunderbird 60) ...


    Zitat

    This will be fixed in 0.9.54.


    ... mit dieser Version gefixt werde.


    Aktuell gibt es ja Firejail sogar schon in der Version 0.9.56.


    Hast Du diese Versionen ohne die von Dir beschriebenen Anpassungsmaßnahmen mal getestet?


    Ich selbst nutze Linux openSUSE 15 Leap und Linux Mageia 6.1 (jeweils als 64-Bit-Version) und würde gerne den Firejail auch wieder für den Thunderbird und den Firefox nutzen.


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier

  • Hast Du diese Versionen ohne die von Dir beschriebenen Anpassungsmaßnahmen mal getestet?

    Nein, ich verwende die 0.9.52 aus der Distribution. Bei mir funktionieren Firefox und Thunderbird damit in Firejail. Firefox habe ich intensiver getestet. Es kann sein, dass die .56 keine Anpassungen mehr benötigt. Du kannst es ja ausprobieren.


    Falls du auch lieber bei der Version aus den Distris bleiben möchtest, hier meine Anpassungen (ohne das Feintuning).


    In der firefox.profile habe ich den Tracelog deaktiviert und seccomb ohne chroot gesetzt. Dazu muss man die anderen Optionen dann einzeln anführen, was die Zeile etwas lang macht.


    Code
    1. seccomp.drop @clock,@cpu-emulation,@debug,@module,@obsolete,@raw-io,@reboot,@resources,@swap,acct,add_key,bpf,fanotify_init,io_cancel,io_destroy,io_getevents,io_setup,io_submit,ioprio_set,kcmp,keyctl,mount,name_to_handle_at,nfsservctl,ni_syscall,open_by_handle_at,personality,pivot_root,process_vm_readv,ptrace,remap_file_pages,request_key,setdomainname,sethostname,syslog,umount,umount2,userfaultfd,vhangup,vmsplice
    2. shell none
    3. # tracelog


    In der thunderbird.profile habe ich die firefox.profile auskommentiert. Es kann sein, dass das bei dir nicht nötig ist.

    Code
    1. # include /etc/firejail/firefox.profile



    Da ich das Firefox Profil aus dem RAM benutze und dort auch alle Logs hinschreibe, musste ich noch eine weitere Anpassung vornehmen, weil es sonst zu IBUS-Fehler kommt. Wenn du das Profil normal von der Platte benutzt, sollte das bei dir nicht nötig sein.

    Es sei trotzdem erwähnt. Der Aufruf erfolgt bei mir über

    Code
    1. GTK_IM_MODULE=xim firejail --noblacklist=/dev/shm/Profilbezeichner firefox -P Profilbezeichner

    Auch das könnte mit der .56 behoben sein.

  • Hallo Ruhezone,


    ich bin auch eher ein Freund von Distributionsversionen oder zumindest distributionsnahen Paketdepots. Deshalb vielen Dank für Deine Beschreibung der Vorgehensweise unter der 0.9.52 mit den Codeschnipseln. :)


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier

  • Ich hab's nun doch rasch mit der 0.9.56 ausprobiert. Das dauert ja mal gerade 10 Minuten. Der Tracelog funktioniert damit (ist aber in der LTS nicht unterstützt). Der Bug 1935 scheint behoben.

    Die seccomb- und IBUS-Fehler traten bei mir auch damit auf. Die Anpassungen dazu sind bei mir auch mit der .56 nötig.

  • Hallo Ruhezone,


    danke für den zusätzlichen Test und die kurzen Informationen dazu.


    Ich werde mir an diesem Wochenende meine beiden Linux-Rechner mal vornehmen. Werde dann vom Ergebnis berichten. Zu openSUSE 15 Leap habe ich schon mal diese Information gefunden: FIrejail in openSUSE Leap15 #2078.


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier

  • Ich habe meine letzten Tests nur noch unter Ubuntu 18.04 durchgeführt und die VMs mit Kubuntu und Leap heute gelöscht. Ich musste mich langsam aber sicher für eine Distri entscheiden, weil der Test- und Pflegeaufwand auch für das Härten sonst einfach zu hoch ist. Da mein frisch angemieteter Server auch unter Ubuntu läuft, war die Wahl leichter zu treffen.


    Ohne die Anpassungen lief der Firefox >60 in keiner der Distris innerhalb Firejail. Mit den Anpassungen läuft er unter Ubuntu völlig rund.


    Thunderbird in Firejail habe nicht gründlich getestet. Dazu kann ich nur sagen, dass er startet und Mails, Kalender und Adressbücher abruft und dass Enigmail/gpg funktioniert.


    Die verlinkte Seite habe ich nur im Schnelldurchlauf gelesen. Dieser Bug ist demnach gefixt. Auch er stand in Zusammhang mit dem chroot. Im Text ist aber auch Plasma erwähnt. Es kann also sein, dass die Anpassungen hier nicht genügen. Es wäre dann vielleicht besser, wenn du doch die .56 verwenden würdest.

  • Hallo Ruhezonen,


    vielen Dank für Deinen weiteren Input.


    Ich werde das mit der .56 in Erwägung ziehen. Ich werde berichten, sobald ich auf meinen Linux-Rechnern Firejail bezüglich dem Donnervogel und dem Feuerfuchs eingerichtet habe.


    Gruß

    Feuerdrache

    „Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird.“
    Clifford Stoll, amerik. Astrophysiker u. Computer-Pionier