Librewolf über Firejail starten und mit KeepassXC verbinden

Librewolf über Firejail starten und mit KeepassXC verbinden

Hi,
auf einem Debian System mit X11 habe ich Librewolf in ein Firejail Gefängnis gesteckt, auch um meine private Dateien vor dem Lese/Schreibzugriff zu schützen. Librewolf sieht nur mein Download-Ordner
Funktioniert soweit schon seit langem recht gut.

Da Librewolf immer mehr Zicken mit dem internen Paßwort-Manager macht (scheinbar will man das nicht mehr unterstützen), will ich nun Librewolf über das Addon KeepassXC-Browser mit meinem KeepassXC-Safe verbinden.
Starte ich Librewolf ohne Firejail ist die Verbindung zur Datenbank überhaupt kein Problem. Aber sobald Firejail ins Spiel kommt, geht nichts mehr, die Datenbank wird nicht gefunden.
Klar sie liegt dann für erste Tests in dem Ordner, wo Librewolf auch lesen/schreiben kann (Download-Ordner). Obwohl ich mir nicht sicher bin, ob der Browser überhaupt selbst dann auf die Datenbank zugreift, ich hätte eher erwartet, daß das Addon mit dem Keepass-Programm kommuniziert und selbst kein Zugriff auf die DB benötigt.
Die Vermutung geht Richtung D-Bus, sicher bin ich mir aber nicht.
Ich habe mehrere KIs befragt, jede hatte diverse „Lösungen“, aber keine hat wirklich geholfen.
es liegt nicht an irgendwelchen Profil-Modifikationen von mir, das Ganze läuft mit den Standard-Paketen aus dem Debian Paket nicht.

Hat jemand Erfahrung mit dieser Kombination und auch ans Laufen gebracht?
Bitte keine Nebendiskussion über Librewolf, Firejail oder KeePassXC Alternativen.

owly

Das löst jetzt nicht das Verbindungsptoblem aus Firejail heraus, könnte jedoch eine gute Alternative sein. Keepass hat eine AutoType-Funktion. Mit einer selbst gewählten Tastenkombination öffnet sich ein Fenster, in der man dann den entsprechenden Eintrag auswählt. Dann kann Keepass die Daten selbst eingeben. Eine Verbindung von Librewolf und Addon ist dabei nicht notwendig. Aktivieren geht in den Einstellungen von Keepass.

Danke, dies nutze ich so schon lange, ist aber für den jetzt benötigten Einsatzzweck (anderer User) nicht anwendbar
Und bequem ist nur das Einsetzen des User/Paßwort über AutoType. Das Erstellen der Einträge dann doch eher umständliche Handarbeit. Dies würde das Plugin dann sehr bequem für den User automatisch erledigen.

Siehe https://github.com/netblue30/firejail/blob/b32f72dff8eb4e9dc154856d82cfc22103bf9a57/etc/profile-a-l/firefox-common.profile#L19 für die Lösung deines Problems

Um überhaupt die Basis für Isolation zu erreichen musst du dazu mit X11 Xpra oder Xephyr verwenden. Oder besser: du steigst auf Wayland (Gnome, KDE, Sway oder Cosmic) um.

Bei der Nutzung von Wayland statt X11 muss man dann aber https://keepassxc.org/docs/KeePassXC_UserGuide#_auto_type beachten!

Siehe https://github.com/netblue30/firejail/blob/b32f72dff8eb4e9dc154856d82cfc22103bf9a57/etc/profile-a-l/firefox-common.profile#L19 für die Lösung deines Problems

Nein, leider nicht.
Diese Datei weicht auch von der Auslieferung zum debian 12 Paket deutlich ab und führt zu einer Menge von Problemen

# To enable support for the KeePassXC extension, add the following lines 
noblacklist ${RUNUSER}/app
whitelist ${RUNUSER}/app/org.keepassxc.KeePassXC
whitelist ${RUNUSER}/kpxc_server
whitelist ${RUNUSER}/org.keepassxc.KeePassXC.BrowserServer

Der Teil steht schon in der librewolf.local im entsprechenden User-Home-Verzeichnis, hilft aber auch nicht.

Wayland ist auf dem System im Moment leider noch keine Option

Welche Firejail Version hast du denn?

firejail version 0.9.72

Compile time support:

  • always force nonewprivs support is disabled
  • AppArmor support is enabled
  • AppImage support is enabled
  • chroot support is enabled
  • D-BUS proxy support is enabled
  • file transfer support is enabled
  • firetunnel support is disabled
  • IDS support is enabled
  • networking support is enabled
  • output logging is enabled
  • overlayfs support is disabled
  • private-home support is enabled
  • private-cache and tmpfs as user enabled
  • SELinux support is enabled
  • user namespace support is enabled
  • X11 sandboxing support is enabled

Bei mir läuft diese Kombination, allerdings mit dem normalen Firefox statt LibreWolf. Kommt dein LibreWolf aus einem AppImage oder Snap? Ich nutze das deb Paket.

Was genau heißt das? Wie lautet die Fehlermeldung?

Tja, ich halte die Meldung auch für nicht sehr informativ, aber das ist die Meldung, die das Addon dann in seinem Fensterchen ausgibt :roll_eyes:
Ich habe auch schon das Debugging im Addon und in den Browser-Einstellungen aktiviert, aber da kam praktisch auch nichts.

Ich lade das tar.xz direkt auf dem librewolf-Repository, dies sollte aber wohl keinen Einfluß haben, denn ohne Firejail klappt ja die Kommunikation zwischen addon und der keepassXC Anwendung.
Aber Browser ohne Firejail kommt nicht in Frage

0.9.72 ist völlig veraltet. Aktuell ist 0.9.78.

kann ich 0.9.78 gefahrlos unter Debian 12 einsetzen oder läuft dann die Hälfte nicht mehr?
Im Debian Backport Repository ist halt noch 0.9.72-2

Probier es aus, vermutlich geht es. Aber ich benutze kein Debian, sondern Arch, da habe ich solche Probleme nicht. Jemand anderes kann das kompetenter beurteilen.

war keine so gute Idee, firejail scheint gegen eine neuere libc gelinkt zu sein. Zumindest lief keine meiner Applikationen mehr, die über firejail gestartet werden sollten und es gab immer eine Hinweis auf eine andere libc Abhängigkeit.
Genauen Wortlaut habe ich nicht mehr, habe es vergessen zu speichern, bevor ich einen System Restore durchgeführt habe.

Firejail arbeitet auch Pfad-basiert, von daher kann es schon einen Einfluss haben. Warum verwendest du nicht Librewolfs Debian Repo? Wäre ohnehin die bessere Alternative. https://librewolf.net/installation/debian/

Der Browser hat sowieso eine mehrschichtige Sandbox, die deutlich passgenauer ist als die von Firejail. Ob da Firejail wirklich noch eine signifikante Verstärkung bringt ist fraglich.

Die Freuden der Frankensteindistros … :wink:

1 „Gefällt mir“

wir weichen jetzt zwar etwas vom Thema ab, trotzdem ein Hinweis zu meiner Firejail-Absicht.
Ein Hauptanliegen meinerseits besteht darin, daß ich nicht möchte, daß der Browser überall auf der Platte rumlesen, schreiben etc. kann.

Der Browser Parent Process kann das zwar, aber der gesandboxte Content Process nicht. Webseiten haben dementsprechend keinen Zugriff auf deine Dateien, außer du erlaubst Zugriff explizit, z. B. zum Upload von Dateien.

d.h. ein in der Seite eingebetter Schadcode hat keinen Zugriff auf das Dateisystem?
Nur wenn die GUI-Box zum Speichern oder Laden von Dateien kommt?
kann man das irgendwie (einfach) verifizieren?

Grundsätzlich richtig. Firejail kann aber dennoch eventuell vor einer Lücke in IPC schützen, indem eben auch der Broker Prozeß gesandboxt wird.

  • Da Librewolf den internen Paßwortmanager quasi fast komplett beschnitten hat und selbst dem User die Kombination KeepassXC mit Addon ans Herz legt.
  • Unter Firejail (zumindest bei mir) diese Kombination aber ziemlich Probleme macht
  • der Zusatznutzen recht marginal scheint

stellt sich schon die Frage, ob man/ich dann überhaupt den Browser in Firejail einpacken soll(te).
Ohne Firejail läuft die Kombination KeepassXC mit Addon und ist ähnlich bequem wie der interne Paßwort-Manager