Passwort Manager gesucht

Bin rundum glücklich mit KeePassXC - nutze es auf macOS & Windows + iOS unterwegs. Das verschlüsselte Datenbankfile synchonisiere ich über die Cloud (Dropbox).
 
Zuletzt bearbeitet:
Muß das nochmal hochpushen.

Also mein Unraid Server läuft zuhause und ist NICHT frei verfügbar ins Netz.
Ich möchte das auch nicht machen, weil mein Know How da viel zu gering ist, dass "sicher" zu handeln.
Was für mich als Otto-Normal-DAU ein gangbarer Weg sein könnte, wäre, wenn ich nicht in meinem privaten Netz bin, mich über Wireguard von außen in mein Heimnetz zu tunneln.

Daher wäre für mich die Anforderung, dass der Master auf Unraid als Docker/VM läuft. Auf den Systemen (PC mit Windows/Linux, Iphone/Android) ist ein Client installiert, der sich im Heimnetz synchronisiert und auch "offline" funktioniert, sich aber synchronisieren kann, wenn ich über Wireguard/VPN doch mit dem Heimnetz verbunden bin.
Eine Cloud (von einem externen Anbieter) Synchronisierung möchte ich explizit nicht haben.

Also im Prinzip diese Lösung hier
Azghul0815 schrieb:
Ich hab keepass 2 und die Datenbank auf der NAS, mit dem IPhone nutze ich Keepassium und hole mir die Datei aufs Phone.
Bin aber ständig via VPN im Heimnetz.

Habe auf Unraid mal den Docker von Vaultwarden installiert, aber bisher zu blöd das zum Laufen zu bekommen. Probiere am Wochenende mal Keepass
 
Der TE schreibt ja auch von Passkey. Wenn Leute dann KeePass empfehlen, dann muss auch geschrieben, werden dass KeePass doch gar kein Passkey unterstützt (auch nicht mit Plugins)? In KeePass XC ist ne Option dafür. Aber damit hab ich mich noch nie auseinandergesetzt.
Datenbanken können in der Heim-Cloud liegen. Aber da leg ich nur die Backups meiner Datenbanken ab. Meine Datenbanken liegen auf dem Rechner und in Dropbox für den täglichen Zugriff.
Das Einloggen in Webseiten oder Apps erledigt KeePass 2 vollständig mit Autotype bei mir. Kein AutoFill-Plugin dafür installiert :)
 
SavageSkull schrieb:
Habe auf Unraid mal den Docker von Vaultwarden installiert, aber bisher zu blöd das zum Laufen zu bekommen. Probiere am Wochenende mal Keepass
Hi, hole das mal aus der Versenkung, da das Thema immer noch offen ist und ich jetzt Urlaub habe und es nochmal versuchen will.

Also Vaultwarden ist bei mir jetzt als Docker auf Unraid installiert und jetzt bin ich erstmal überfordert.
Ich brauche da mal eure Hilfe in der Form, dass ich nachher erstmal verstehe, warum ich was genau einstellen muß, in der Form:

Soweit meine Erwartung:
Docker bekommt seine IP, Client verbindet auf IP.
ABER
Vaultwarden will eine Email verknüpft haben und laut diversen für mich unverständlichen Youtube Videos wird da noch ein Proxy dazwischen gesetzt (oft wird der nächste Docker nginx empfohlen)
Was macht jetzt Vaultwarden genau, dass es diese Schritte braucht und wo muß das warum einstellen?

Kann mich da bitte jemand von der Community zumindest ein bißchen erleuchten?

Danke
 
Was den Passwortmanager angeht, gibt es nichts Besseres als Vaultwarden.

Vaultwarden ist ein alternativer Bitwarden-Server, geschrieben in Rust. Das macht Vaultwarden im Gegensatz zur herkömmlichen .NET-Variante performanter und schlanker. Dazu sind Premiumfeatures (z. B. 2FA) im Gegensatz zu der kostenpflichtigen Bitwarden-Variante kostenlos. Das Team um Dani Garcia, BlackDex und Co. macht seit vielen Jahren einen wirklich guten Job.

Vaultwarden benötigt eine verschlüsselte Verbindung, um überhaupt zu funktionieren. Dort kommt der Nginx-Proxy-Manager ins Spiel. Ohne diese SSL-Verbindung kannst du keine User einrichten. Allerdings musst du nicht unbedingt einen Reverse Proxy einsetzen. Du kannst natürlich auch ein Zertifikat selbst ausstellen bzw. signieren. Da du Vaultwarden netzintern nutzen willst, gibt es damit auch keine Probleme.

Die E-Mail-Adresse ersetzt den Benutzernamen. Letztendlich ist das aber nur ein Platzhalter. Diese E-Mail muss nicht wahrheitsgemäß existieren. Erst wenn du dein Passwort wiederherstellen oder andere User einladen willst, wäre es vonnöten, die „richtige“ Mail zu nutzen.

Weiterhin hast du zum Web-IF noch das Admin-Web-IF. Dort kannst du viele Einstellungen tätigen, Servereinstellungen anzeigen lassen, User manuell einladen, exportieren usw. Erreichen kannst du das Admin-Web-IF über den Zusatz /admin hinter deiner IP und dem Port. Dort kommst du auch nur mit einer verschlüsselten Verbindung rein.

Wenn du Vaultwarden erst einmal austesten willst, warum installierst du nicht erst einmal Dietpi (Vaultwarden) oder Ubuntu auf deinen Proxmox? Beide OS bringen eine native Installation von Vaultwarden mit. Dann kannst du erst einmal alles in Ruhe ausprobieren und testen und musst dich nicht mit Zertifikaten herumärgern. Wenn Vaultwarden dir zusagt und du alles ausgiebig getestet hast, würde ich erst mit der Dockerinstallation anfangen. Nicht das du viel Zeit investiert und es am Ende nicht gefällt!

Letztendlich ist die Einrichtung nicht wirklich schwer, wenn man das einmal gemacht hat. Ich selbst nutze Vaultwarden seit Jahren. Davor hatte ich KeepassXC im Einsatz. Aber die Synchronisation und der Use Case sind von vorgestern. Einfacher und benutzerfreundlicher als in Vaultwarden/Bitwarden geht es nicht mehr. Einmal eingerichtet, brauchen die User keine Einleitung, weil alles selbstverständlich ist. Synchronnieren wie bei Keepass entfällt aufgrund des Servers. Auch die Einrichtung auf unterschiedlichen Geräten, vom Raspi bis zum NAS, ist kein Problem. Eine Datenbank (Postgres/MariaDB) kann man im Hintergrund einsetzen, muss es aber nicht. Das ist nur interessant, wenn man eine Datenbank für andere Dienste bereits hostet. Ich selbst nutze die Standard-SQLite. Diese ist trotz vieler Einträge noch sehr klein und kann on-the-fly weggespeichert werden (Backup).

Wir versuchen einmal eine Lampe anzuschalten, damit etwas Licht in der Sache kommt.​
 
Zuletzt bearbeitet von einem Moderator:
KeePass (Windows) und KeePassXC (plattf.übergreifend) sind Klassiker, aber es gibt keinen nativen zentralen Server.
 
Ja, KeePass ist erstmal auf Offline-Nutzung ausgelegt. Wenn man seine Datenbank unterwegs zur Verfügung haben möchte und/oder schlicht ein externes Backup der Datenbank haben will, dann muss man das erstmal einrichten (denn möglich ist es). Das ist dann der Nachteil von KeePass gegenüber anderen Lösungen.
 
SavageSkull schrieb:
Also mein Unraid Server läuft zuhause und ist NICHT frei verfügbar ins Netz.
Ich möchte das auch nicht machen, weil mein Know How da viel zu gering ist, dass "sicher" zu handeln.
Was für mich als Otto-Normal-DAU ein gangbarer Weg sein könnte, wäre, wenn ich nicht in meinem privaten Netz bin, mich über Wireguard von außen in mein Heimnetz zu tunneln.
Es ist gar nicht so schwer. So ging es mir am Anfang auch mit unRAID und DynDNS und Reverse-Proxy. Aber es gibt auf YouTube sehr gute Videos, wo man das mit anderen Containern vormacht. Hast du einen Container zum Laufen gebracht, kriegst du alle zum Laufen.

Swag (Reverse-Proxy) kommt mit vorkonfigurierten Dateien für nahezu alle Docker-Container, die der App-Store zu bieten hat. Heißt, du installierst den Container, machst die benötigten Konfigurationen und im Swag-Container musst du nur noch die passende Konfigurations-Datei aktivieren (aktivieren heißt von *.conf.sample zu *.conf umbenennen.

Ich will nicht sagen, dass es trivial ist und es gibt immer wieder mal Stolpersteine, aber man bekommt überall hilfe.

SavageSkull schrieb:
Habe auf Unraid mal den Docker von Vaultwarden installiert, aber bisher zu blöd das zum Laufen zu bekommen. Probiere am Wochenende mal Keepass
Ich nutze auch Vaultwarten (Bitwarden) auf meinem Smartphone und Browser von überall. Mein Vaultwarden-Server läuft bei mir zu Hause auf unRAID. Was sagt denn die Logdatei, was bei dir nicht funktioniert?

Edit: ah habe deinen späteren Beitrag überlesen. Hast du ein Bild oder kannst die genaue Fehlermeldung posten?
 
Petezilla schrieb:
Hast du ein Bild oder kannst die genaue Fehlermeldung posten?
Er wird kein Konto erstellen können, weil die SSL-Verschlüsselung fehlt, auf die Vaultwarden aufbaut. Das Gleiche gilt auch für das Admin-Webif. Wenn man keine Domain oder DynDNS besitzt, auf der man sich ein Zertifikat mit Acme oder Cerbot ausstellen kann, kann man auch einfach zu OpenSSL und den Rocket-Einstellungen in Vaultwarden greifen. Alternativ kopiert man die Einstellungen und Files auch aus einer nativen Installation (siehe #26) in seinen Docker-Ordner.​
 
snoogans schrieb:
Er wird kein Konto erstellen können, weil die SSL-Verschlüsselung fehlt, auf die Vaultwarden aufbaut.

Darum gehts ja. Ich würde gerne verstehen, was Vaultwarden gerade warum benötigt und warum das gerade nicht vorhanden ist.
Ich habe heute mal ein bißchen rumprobiert und auch chatgpt mal gefragt, wie die einzelnen Schritte aussehen sollten. Die hat mir wie folgt geantwortet:
2. Domain bei DuckDNS erstellen

Gehe auf: https://www.duckdns.org
Melde dich mit Google/GitHub/Reddit/… an.
Wähle einen Subdomain-Namen aus, z. B. meinvault.
→ Deine Adresse wird: meinvault.duckdns.org
Kopiere dir den Token (den brauchst du später).

3. Fritzbox einrichten (DynDNS-Update)

In der Fritzbox einloggen → Internet → Freigaben → DynDNS.
Aktiviere „DynDNS verwenden“.
Trage ein:
Anbieter: „Benutzerdefiniert“
Update-URL:
https://www.duckdns.org/update?domains=meinvault&token=DEIN-TOKEN&ip=<ipaddr>
Domainname: meinvault.duckdns.org
Benutzername & Passwort: frei lassen.
Speichern → die Fritzbox meldet automatisch deine aktuelle IP an DuckDNS.

4. Portfreigaben im Router setzen

Damit der NGINX Proxy Manager von außen erreichbar ist:
Port 80 (HTTP) → an deinen Unraid-Server (NPM-Container-Port 80).
Port 443 (HTTPS) → an deinen Unraid-Server (NPM-Container-Port 443).

5. NGINX Proxy Manager (NPM) konfigurieren

NPM öffnen (http://[Unraid-IP]:81).
Proxy Host → Add Proxy Host.
Eintragen:
Domain Names: meinvault.duckdns.org
Scheme: http
Forward Hostname/IP: 192.168.178.50 (Unraid-IP oder Container-IP von Vaultwarden)
Forward Port: z. B. 8080 (Vaultwarden-Port)
„Websockets Support“: aktivieren ✅
„Block Common Exploits“: aktivieren ✅
Tab „SSL“:
SSL Certificate → „Request a new SSL Certificate“
Force SSL aktivieren
HTTP/2 aktivieren
Speichern.

6. Testen

Öffne im Browser:
https://meinvault.duckdns.org
Du solltest jetzt die Vaultwarden-Oberfläche sehen (mit gültigem HTTPS-Zertifikat).
In den Bitwarden-Apps/Extensions:
„Eigenen Server verwenden“ → https://meinvault.duckdns.org eintragen.

7. Optional: Nur im Heimnetz nutzen

Falls du Vaultwarden nicht ins Internet hängen willst:
Portfreigaben im Router NICHT setzen.
Richte in der Fritzbox einen lokalen DNS-Rebind/Host-Eintrag ein:
meinvault.duckdns.org → zeigt auf 192.168.178.50
Dann funktioniert die Domain nur im LAN (sicherer).

Dyndns Domaine ist jetzt eingerichtet und in der Fritzbox eingetragen. Beim Einrichten von Nginx will ich die Haken bei den SSL Einstellungen setzen, wie beschrieben, bekomme aber die Meldung "internal error" und weiß nicht, wo jetzt das Problem liegt.
Ich glaube das Port 80 auch für die Vaultwarden GUI Maske verwendet wird, bin mir aber nicht sicher, wie ich das prüfen und ausschließen kann. Kann ich denn beliebig verschiedene Ports bei verschiedenen Dockern nutzen, wie ich das will, oder klemmt es dann aus irgendwelchen anderen Gründen?​
 
Zunächst einmal benötigst du ein Zertifikat, damit Vaultwarden funktioniert. Dabei ist es egal, ob dieses Zertifikat ein selbst signiertes Zertifikat ist oder ein reguläres von einem aktuellen Aussteller wie z. B. Let’s Encrypt oder Zero SSL usw.

Erst wenn der Browser mit diesem Zertifikat eine Verbindung zum Server aufbaut, kannst du einen User anlegen oder dich ins Admin-Panel einloggen. Soweit klar?

Ein Zertifikat kannst du selbst mit OpenSSL erzeugen und im Vaultwarden-Ordner ablegen und in den Rocket-Einstellungen aktivieren. Um das verständlicher zu machen, kannst du einfach Ubuntu in der VM installieren und über das Paketzentrum Valtwarden laden (Snap-Paket) und den Ordner ansehen, wie alles aufgebaut ist. Wenn du dann die URL mit Port aufrufst, bekommst du eine Fehlermeldung, weil es kein regulär ausgestelltes Zertifikat ist, nur ein selbst signiertes Zertifikat. Dieses bestätigst du einfach mit „Weiter“ und kannst sofort loslegen und testen. Der Hintergrund: Erst muss das Zertifikat im Browser hinterlegt sein, damit es auch genutzt werden kann.

Anders sieht es mit einem regulären Zertifikat aus. Dafür benötigt man eine DynDNS oder eine Domain. Dann kannst du das Zertifikat beim Unternehmen deiner Wahl beantragen, meist Let’s Encrypt. Wie du das machst, ist dir überlassen. Die einfachste und beste Möglichkeit ist die Verwendung eines Reverse Proxy (RP), welchen du sowieso später für Container benötigst bzw. die Zertifikatsverwaltung wesentlich vereinfacht. Einer der bekanntesten RP mit GUI ist der „Nginx Proxy Manager“ (NPM). Andere funktionieren nur über Config-Files und sind für Anfänger schwerer zu verstehen. Je nach Hoster oder DynDNS-Anbieter musst du keine Ports in der Fritz!Box bzw. Router öffnen. Der Import erfolgt über eine API, die im NPM hinterlegt ist. Soweit auch klar?

Im Reverse Proxy legst du einen Eintrag an, auf den der NPM „lauschen“ soll. Dafür musst du die URL und den Port des Eingangs und des Ausgangs angeben. Bsp.: vaultwarden.SavageSkull.com Port 443 > 10.10.10.20 Port 3456. Natürlich kannst du anstatt der IP noch den Hostnamen deiner Maschine angeben, wenn diese darüber angesprochen werden kann. Alle Anfragen bekommen durch den NPM das Zertifikat dann huckepack auf die Anfrage. Intern kannst du diese Anfrage über AdGuard-Home (verwende ich), Pi-Hole oder einfach in der Hosts-Datei im Client umleiten. Dann werden keine Anfragen nach draußen geleitet. Das funktioniert auch im VPN wie WireGuard.

SavageSkull schrieb:
Kann ich denn beliebig verschiedene Ports bei verschiedenen Dockern nutzen
Ja, kannst du, sofern diese nicht genutzt wird. Von bekannten Standardports würde ich Abstand halten. Wenn du den Container über die CLI oder Compose installierst, siehst du oft sowas: 80:80. Das steht für externen Port:internen Port. Der interne Port darf nicht verändert werden. Das ist für dich tabu!!! Den externen Port kannst du nach Belieben ändern. Bsp.: 3456:80. Alle externen Anfragen (außerhalb der Maschine) werden dann auf den internen Port´80 durch Docker umgeleitet. Das ist notwendig, weil viele Anwendungen die gleichen Ports nutzen, aber nicht dürfen. Wie soll das Gerät die Anfragen zuordnen können? Das passiert einfach durch die Ports. Somit geht deine komplette Anfrage:

Anfrage an NPM (RP) vaultwarden.SavageSkull.com auf den Standardport Port 443 für SSL. Der RP erkennt eine eingerichtete Adresse und leitet diese Anfrage weiter zum Gerät/VM-IP nach 10.10.10.20 und den Docker-Port 3245. Das war es auch schon. Wenn du das verstanden hast, lachst du darüber, wie einfach das Ganze ist.

Schau dir den Aufbau aber ruhig einmal in der Ubuntu-VM an. In der Zeit seit dem letzten Posting hättest du meine Ratschläge einmal testen können. Eventuell wäre dann schon vieles einfacher zu verstehen.
Wenn du Fragen hast, stell sie, aber verwirre dich nicht selbst mit den KI-Fragen und ‑Antworten.

Das klingt erst einmal kompliziert, ist es aber nicht wirklich. Natürlich kannst du das alle auch mit einem Webserver auf Config-Ebene machen. Ein Reverse Proxy wäre aber der einfachere Weg.
Ergänzung ()

SavageSkull schrieb:
7. Optional: Nur im Heimnetz nutzen

Falls du Vaultwarden nicht ins Internet hängen willst:
Portfreigaben im Router NICHT setzen.
Richte in der Fritzbox einen lokalen DNS-Rebind/Host-Eintrag ein:
meinvault.duckdns.org → zeigt auf 192.168.178.50
Dann funktioniert die Domain nur im LAN (sicherer).
Diese Aussage ist auch falsch, das kann die Fritz!Box nicht!

Ein Rebind-Schutz ist etwas anderes und soll vor einem möglicherweise bösartigen Angriff schützen. Dabei erkennt die Fritz!Box, dass die interne Anfrage auf deine URL zeigt. Das ist aber bei AVM gut beschrieben.

Eine Umschreibung kann nur durch einen DNS-Server (Adguard Home, Pi-Hole, Webserver) oder Hosts-File erfolgen. Zum einfachen Testen empfehle ich dir das File. Dazu musst du nur deine DynDNS und die dazugehörige IP getrennt durch ein Leerzeichen, angeben. Der Rebind-Schutz greift dann nicht. Keine Ahnung, was dir die KI so alles schreibt und auf wessen Grundlagen diese Aussagen basieren.
Dein Anliegen war ja eigentlich eine interne Verwendung ohne Portfreigaben.

Schönes Testen.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben