Bitwarden in Docker - Keine Dateien vorhanden...

Schumi991

Benutzer
Mitglied seit
11. Jul 2018
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,

mein Kumpel hat vor Jahren auf seiner DS den Bitwarden-RS-Container über Docker installiert. Die Installation war nie von "außen" erreichbar. Die Nutzung war somit nur in seinem Netzwerk bzw. per VPN möglich. Auf den Bitwarden-Server hat er nie zugegriffen, sondern einfach nur die Erweiterungen (Browser + Apps) für die Passwortanlage und Pflege genutzt. Seit ein paar Tagen kommt er aber nicht mehr auf sein Tresor. Weder über sein Browser-Addon noch über seine Bitwarden-Apps (iOS + Android). Fehlermeldung wäre ein falsches Masterpasswort... Das wird aber nicht falsch eingegeben.

Jetzt habe ich mir mal die Konfiguration von dem Container angeschaut und habe gesehen, dass in seinem gemapten Ordner im Docker-Image von Bitwarden gar keine Daten drin sind... Er hatte bei der Installation ein Verzeichnis "docker" und darunter ein Ordner "bitwarden" angelegt. In der Konfiguration hat er aber nicht ein /data Verzeichnis unter dem "bitwarden-Verzeichnis" angelegt und das gemapt, sondern einfach das Verzeichnis "/docker" angegeben. Weder im Ordner "/docker" noch im Ordner "/docker/bitwarden".

1671484127277.png

Wie kann das überhaupt funktioniert haben? Oder legt Docker die Datenbank dann irgendwo im User-Verzeichnis der DS ab?

Und jetzt die Preisfrage - Wie kann ich die Datenbank mit Passwörtern wieder finden und diese in einen neuen und aktuellen Container zu importieren?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Wenn da als "Mount-Pfad" nicht /data angegeben war, dann wurde die Daten ins "Wegwerf"-Dateisystem des Containers geschrieben.. Dass bei gleicher Einstellung plötzlich keine Daten mehr vorhanden sind, könnte ein Hinweis darauf sein, dass es nicht mehr der derselbe Container ist, sondern ein neuer Container (passiert bspw. wenn man den Container "zurücksetzt", um eine neue Imageversion zu verwenden). Wenn dem so ist, dann sind die Daten verloren.

Man könnte über die Kommandozeile zwar versuchen mit docker cp {container name oder id}:/data . Daten aus dem Container zu kopieren. Im Zweifel wird dort aber vermutlich eher eine frische, leere Datenbank drin liegen.
 

Schumi991

Benutzer
Mitglied seit
11. Jul 2018
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Danke für die schnelle Antwort.

Unter welchem Pfad finde ich denn den "Wegwerf-Container"?

Oder anders gefragt. Über HyperBackup hat er für das Verzeichnis "/docker" eine automatische Sicherung angelegt. Wäre in einem dieser Verzeichnissen die "alte" Datenbank enthalten, die über diesen Befehl wiederhergestellt werden könnte?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Nein. Die Daten sind nur im Container enthalten. Da das nicht richtig gemappt wurde, findet man die Daten nicht im Dateisystem der Synology. Er müsste ein Backup von der Docker App haben würde ich sagen. Er müsste an den alten Container kommen und dann mit dem Befehl von oben es probieren
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Da wurde wohl leider der falsche Ordner innerhalb des Containers nach außen verbunden. Somit konnten auch keine Daten auf der Festplatte des NAS ausgelagert werden. Dadurch sind die Daten, die im Container angelegt wurden, nach einem Neustart des Containers weg. Da wirst du kaum eine Chance haben, diese wiederherzustellen.

Aber ich kann mir nicht vorstellen, dass der Container wirklich mehrere Jahre ohne Neustart durchlief, da du ja geschrieben hast, dass er Bitwarden vor Jahren installiert hat. Und nach jedem Neustart sind die Daten im Container wie gesagt eigentlich weg, wenn kein Ordner nach außen gemapped ist.

BitwardenRS ist sowieso veraltet, der Nachfolger wäre Vaultwarden.

So sieht das Volume-Mapping bei mir aus, dadurch liegen die Daten persistent auf dem NAS unter /docker/vaultwarden und können dort auch ganz normal per Backup oder Snapshot gesichert werden:

1671531997598.png
 

Schumi991

Benutzer
Mitglied seit
11. Jul 2018
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Nachdem ich mich ein wenig mit Bitwarden/Vaultwarden beschäftigt hatte, habe ich ihm schon wenig Hoffung gemacht, da die Installation schon falsch durchgeführt wurde. Wie bereits gesagt, wunderte es mich schon, dass es überhaupt funktioniert hatte...

Aufgrund der "bestätigten" Aussagen, dass ohne den "/data" Ordner das System nicht funktioniert und dies auch in allen von mir gefundenen Anleitung auch explizit aufgeführt ist, war die Konsequenz relativ schnell klar -> zwei Tage Urlaub nehmen und alle Passwörter zurücksetzen und diese in einen neuen, korrekt installierten Vaultwarden-Container einpflegen... ;)

Trotzdem vielen Dank für die Unterstützung!
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Warum soll das nicht funktionieren? Die Daten werden nur nicht dauerhaft gespeichert. Also, wenn die DS oder Container neu gestartet werden.
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Der Container funktioniert wie erwähnt grundsätzlich schon, aber die Daten sind halt bei einem Neustart des Containers weg, wenn der /data Ordner nicht korrekt nach außen gemapped wird. Und mich wundert wie gesagt, dass das mehrere Jahre funktioniert hat. Spätestens bei einem Update macht die DS ja einen Neustart und dann wird auch der Container neu gestartet, womit er wieder auf einen sauberen Zustand gesetzt wird.

Ich sichere die Passwortliste mehr oder weniger regelmäßig als unverschlüsseltes .json File und packe das in ein verschlüsseltes ZIP-Archiv. Allerdings werden da leider keine Anhänge mit gesichert. Aber dafür sichere ich den Docker-Ordner ja täglich per Backup und mehrmals täglich per Snapshot (da dort auch meine Kontakte und Kalender drin sind). :cool:

Eine sehr gute Anleitung zur Installation von Vaultwarden findest du unter anderem hier. So habe ich es gemacht.
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
...war die Konsequenz relativ schnell klar -> zwei Tage Urlaub nehmen und alle Passwörter zurücksetzen und diese in einen neuen, korrekt installierten Vaultwarden-Container einpflegen... ;)
Ist nicht notwendig. Die gesamten Passwörter können exportiert und gespeichert werden. Dann den Container mal richtig aufsetzen und die Passwörter wieder importieren. 5 Minuten Arbeit...
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Das Problem ist nur, dass der Container leer ist und er keine Daten mehr sieht bzw. er sich nicht mehr anmelden kann. Das kann auch davon kommen, dass das Volume nicht nach außen gemapped war. Denn da liegen ja sämtliche Daten, unter anderem auch Benutzername und Passwort.
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
Ich nutze Bitwarden auch am Handy. Natürlich bei mir mit Synchronisation zum funktionierenden Docker Container auf NAS.
Aber auch die mobilen Apps sichern ihre Passwörter - und synchronisieren wenn der Server zur Verfügung steht. Daher kann ja mal geprüft werden, ob die Passwörter auf dem Handy oder sonstwo gespeichert wurden.
Das fällt einem doch nicht erst nach Jahren auf...
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Das wäre eine Variante. Mit etwas Glück hat er die Einträge noch auf einem mobile Gerät und kann den Tresor dort exportieren. Dann aber auf jeden Fall als unverschlüsseltes .json File sichern. Denn nur dann kann man die Sicherung bei einem frisch aufgesetzten Vaultwarden importieren. Bei verschlüsselter Sicherung wird das File mit dem Fingerabdruck verschlüsselt. Und der ändert sich bei einer neuen Installation.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Die ganze Problematik besteht eh nur bei Verwendung von SQLite. Wenn man bereits eine Datenbank laufen hat, kann man diese auch für Bitwarden/Vaultwarden nutzen. Dort sind die Einträge extern angelegt und in Bezug auf MariaDB lässt sich die Datenbank auch mit Hyperbackup sichern.

Ich verstehe trotzdem nicht, warum nach dem Erstellen nicht einmal in den Ordner nachschaut, ob alles angelegt wurde. Oder einfach den Container zurücksetzen. Wenn die Daten nicht dauerhaft gespeichert sind, ist der Container anschließend leer. So etwas probiere ich doch erst einmal aus, mit Testeinträgen (intern) z. B. Synology Login.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Dadurch sind die Daten, die im Container angelegt wurden, nach einem Neustart des Containers weg.
Du meinst beim Neuerzeugen eines Containers (=neue Container ID), denn bei einem Neustart (=selbe Container ID) wird dasselber Container-Dateisystem weiterverwendet.
Bei Docker Swarm und Kubernetes würde die Aussage stimmen, dort werden beendete Container direkt abgeräumt.
Wie bereits gesagt, wunderte es mich schon, dass es überhaupt funktioniert hatte...
Wie @EDvonSchleck schon schreibt: klar funktioniert ein Container trotzdem, ihm ist herzlich egal, ob an dem Pfad im Container ein Volume eingehängt ist und die Daten so auf dem Host landen, oder nicht und die Daten im Container-Dateisystem landen.
 
  • Like
Reaktionen: MattCB


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat