Sicherheit von Bitwarden mit Vaultwarden Backend

Ich erwäge, auf Bitwarden mit einem Vaultwarden-Backend umzusteigen.

Vaultwarden ist ein in Rust geschriebener Nachbau der Bitwarden API und Open Source. Beide Aspekte bieten meiner Meinung nach erhebliche Sicherheitsvorteile.

Für mein Threat Model möchte ich jedoch die folgenden Worst-Case-Szenarien berücksichtigen:

  1. Der Vaultwarden-Code ist kompromittiert.
  2. Der Server ist kompromittiert.

Zu 1.:

  • Da der Code ebenfalls Open Source ist, gehe ich davon aus, dass viele Menschen die Commits kritisch überprüfen.
  • Weniger offensichtliche Codeänderungen, die beispielsweise die Qualität des Zufalls reduzieren oder Fehler in der Anwendung der kryptografischen Algorithmen einbauen, halte ich für realistisch.
  • Es wird eine Ende-zu-Ende-Verschlüsselung verwendet, und ich gehe davon aus, dass der Client maßgeblich die Passwörter erstellt und auch die Verschlüsselungsparameter festlegt. Verwendet man also die offiziellen Clients, erwarte ich dennoch eine hohe Sicherheit.

Zu 2.:

  • Die größte Gefahr sehe ich bei der Weboberfläche, insbesondere wenn das Master-Kennwort eingegeben wird.
  • Bei Selbsthosting kann man mehrere Accounts einrichten und damit das Risiko im Vergleich zum von Bitwarden gehosteten Server sogar etwas minimieren.
  • Wie sieht es bei der Verwendung der offiziellen App aus? Durch die Ende-zu-Ende-Verschlüsselung sollten die Kennwörter doch weiterhin geschützt sein, oder?

Meiner Ansicht nach wird immer wieder Bitwarden gelobt und empfohlen, dass man es mit Vaultwarden selbst hostet, aber kann man die Sicherheit vergleichen?

Nummer 1 Irrtum beim Thema Open Source.

1 „Gefällt mir“

Mag sein, aber zumindest 144 Programmierer haben an dem Code schon aktiv gearbeitet und von den 34k Github Usern, die einen Stern hinterlassen haben, wird sich auch der eine oder andere einzelne Commits angesehen haben.

Selbst wenn sie in die Commits schauen, was hat das heissen?

Beste Beispiel, dass OpenSource nicht der Heilsbringer ist, auch wenn der Titel es anders verlauten lässt :wink:

xz oder: Wie die Open-Source-Community an Ostern die Welt gerettet hat

Na wenn du den offziellen Client nutzt und in deiner DB speicherst. dann wird es dementsprechend der Einstellungen dort auch verschlüsselt - sehe hier kein Sicherheitsrisiko.

Wenn du natürlich von ausgehst, dass der Vaultwardencode kompromittiert wäre, dann würde man Vaultwarden ja gar nicht nutzen oder?

Bei einer Kompromittierung würde es auch nur Sinn machen im Hintergrund Verbindungen nach draussen aufzubauen und Daten abfließen zu lassen - dies lässt sich jedoch mit gewissen Kenntnissen herausfinden - und würde hier eine ungewöhnliche Verbindung erkannt werden, ich denke es würde schnell publik…

Wo siehst du hier die Gefahr? Wenn du deinem Server nicht traust oder von ausgehst, dann würde ich da keine Vaultwarden-Instanz laufen lassen :wink:

Zumal man seinen Account am besten noch mit dem 2. Faktor absichern sollte…

Wo besteht hier die Risikominimierung?
Auch bei Vaultwarden gibt es den Emergency access und außerdem kannst du bei jedem Login in den Webvault via E-Mail benachrichtigt werden…

Die App stellt auch nur eine gesicherte Verbindung zur Datenbank bzw. dem Tresor her - natürlich ist dies dementsprechend sicher - dies ja der Vorteil von Vaultwarden, dass man die offiziellen Apps von Bitwarden nutzen kann :slight_smile:

Kleine Schlussfolgerung aus deinen Fragen:

Hol dir nen Account bei Bitwarden, wähle den Vaultstandort in Europa aus und du brauchst dir um die Sicherheit des Servers erstmal keine Gedanken wie eventuell bei Vaultwarden machen :wink:

Wenn der Server kompromittiert ist, und du einmal via kompromittiertem Webinterface einloggst, ist es Game-over für deine Passwörter. Die offiziellen Clients sind davon nicht betroffen, aber das Webinterface schon, da es z.B. Passwort-Eingabefelder manipulieren und abfangen kann.

Die andere Gefahr ist Ransomware. Hast du Ransomware-sichere Backups (append-only)?

Generell solltest du schon wissen, was du tust, wenn du so etwas sensibles wie einen Passwortmanager hostest, ansonsten ist Bitwardens Cloud-Lösung die bessere und komfortablere Wahl.

Ja, das mit dem Webinterface ist schon klar - deshalb sollte man schon wissen was man tut, wenn man es selbst hostet :wink:

Inkrementelle Backups sind an sich immer „append-only“ - also ja, passt schon :wink:

Ohne Open Source wären wir nicht im Besitz vertrauenswürdiger Kryptographie. Wo Licht ist, ist aber auch Schatten.

Das kann ja auch nachträglich passieren. z.B. über ein gehacktes Webinterface. Weshalb ich die Instanz nur über VPN nutzen würde.

So wie ich es verstehe, synchronisiert der Bitwarden Client die verschlüsselte Datenbank lokal. Der Unlock findet dann auch lokal statt. Nutzt man das Webinterface, z.B. um einen Export der Datenbank zu erstellen, wären alle Kennwörter in Gefahr. Würde ich Vaultwarden auf einem VPS betreiben, dürfte ich also im Notfall nur die Datenbank sichern und mit einer lokalen Instanz auf das Backup zugreifen.

Das 2FA sichert nur das Login ab, hat aber keinen Einfluss auf die verschlüsselte Datenbank.

Bei Bitwarden selbst ist jeder Account kostenpflichtig. Bei einer lokalen Instanz könnte man die Kennwörter auf mehrere Accounts aufteilen. z.B. welche, auf die man auch mit einem Browserplugin zugreift oder Kennwörter, die man für den Notfall sicher aufbewahren möchte und eigentlich normalerweise gar nicht darauf zugreift.

Ohne Zweifel kein schlechter Service. Allerdings ist ein zentraler Passwortmanager Hoster auch ein lohnendes Ziel für Angreifer. Eine dezentrale Instanz hätte hier Vorteile.

Backups und Betrieb traue ich mir zu. Jeder Bitwarden Client ist auch ein eigenes Backup, solange kein HTTP 403 zurückgegeben wird. So wie ich das sehe, würde dann die Datenbank von den Clients lokal gelöscht werden.

Das stimmt so nicht, der persönliche freie Account kostet nix.

https://bitwarden.com/pricing/

Wenn es da Vertrauensprobleme gibt, bleibt halt nur selbst hosten im Netz oder eben zu Hause - Absicherung via VPN ist ja bei beiden möglich.

Ja, wenn eben das Webinterface oder der Server kompromitiert wären - schrieb ja @Chief1945 schon…

Wie soll eigentlich „dein“ Webinterface gehackt werden, wenn du es selbst hostet und es nur via VPN erreichbar ist?
Der Eintritt dieses Szenarios dürfte doch sehr unwahrscheinlich sein oder?

Richtig, aber ohne Login via Webinterface kommst du auch nicht an die verschlüsselte Datenbank :wink:

Mit append-only meinte ich, dass das zu backupende Gerät Dateien auf dem Backupserver weder löschen noch überschreiben darf. Das ist noch einmal in Unterschied zu inkrementellen Backups und leider kein Standard bei vielen Backuplösungen.