DecaTec

Home-Server | Linux | Nextcloud | Raspberry Pi | Programmierung | Fotografie

Passwörter verwalten mit Nextcloud/KeePass

Nextcloud KeePassXC Logo

Man liest es in letzter Zeit häufiger: Irgendein Online-Dienst wurde gehackt und es wurden Nutzerdaten entwendet. Jüngstes Beispiel ist wohl der Hack der offiziellen Server des Messenger-Dienstes Matrix.org. Die User werden dann meistens dazu aufgefordert, umgehend ihre Passwörter zu ändern.

Wenn man aber nun für mehrere Dienste immer das gleiche Passwort verwendet, dann ist nach einem solchen Hack immer die Wahrscheinlichkeit gegeben, dass die Daten für anderen Online-Dienste, Webshops, etc. missbraucht werden. Daher sollte es sich mittlerweile herumgesprochen haben, dass man für jeden Online-Dienst ein eigenes Passwort verwenden soll.

Der folgende Artikel zeigt, wie man Passwörter einfach und effizient mit KeePass und Nextcloud verwalten kann.

Passwörter mit System

Aus den o.g. Gründen sollte „Passwort-Recycling“ also vermieden werden. Folglich muss man sich aber auch immer mehr Passwörter merken, je mehr Online-Dienste genutzt werden. Hierzu gibt es verschiedene Ansätze. Einer davon ist, dass man sich einen leicht zu merkenden Satz ausdenkt: „Grillen kann man nicht nur bei schönem Wetter, sondern auch wenn es regnet“. Nun nimmt man die Anfangsbuchstaben der einzelnen Wörter und erhält somit: gkmnnbswsawer. Nun kommen noch Groß-/Kleinbuchstaben, evtl. Sonderzeichen und weitere Ersetzungen zum Einsatz: gKm2nbSws4w3R – hier wurde das „nn“ einfach durch 2n“ und ein paar Buchstaben durch Zahlen (Leetspeak) ersetzt.
„gKm2nbSws4w3R“ ist nun das Basis-Passwort, dass man nun noch mit einem „Dienst-Teil“ ergänzt (z.B. die Anfangsbuchstaben des Dienstes). Für Amazon wäre das fertige Passwort also z.B. „aMgKm2nbSws4w3R“, für eBay z.B. „eBgKm2nbSws4w3R“.

Mit einem solchen System ist man nun etwas sicherer unterwegs. Dennoch besteht die Möglichkeit, dass das System dahinter erkannt werden kann, z.B. wenn von mehreren Diensten Daten entwendet wurden. In diesem Fall ist ein solches System auch nicht mehr als sicher anzusehen.

Besser wären Passwörter in der Form „k;%([uhk[3@!o6?m’2SQ}>MLN/Bf,ngPb“ – also eine zufällige Folge aus Buchstaben/Zahlen/Sonderzeichen. Jeder Dienst bekommt dann ein eigenes Passwort, d.h. dass hier kein System dahinter steckt, dem man auf die Schliche kommen kann.
Nun hat man allerdings ein Problem: Kein Mensch kann sich solche Passwörter merken…

Passwort-Verwaltung mit KeePass

Hier kommen dann sog. Passwort-Safes wie z.B. KeePass zum Einsatz. Passwörter können hier ganz einfach mit beliebigen Zusatzinformationen gespeichert werden, z.B. Benutzernamen oder Notizen, sogar Datei-Anhänge sind möglich. Verwaltet werden diese Passwort-Einträge in einer speziellen Datei (kdbx), die komplett verschlüsselt ist. Öffnen lässt sich der Passwort-Safe dann nur mit dem Master-Passwort, einer Schlüsseldatei, oder auch weiteren Verfahren (z.B. mittels eines YubiKeys). Auch eine Kombination der Verfahren zum Entschlüsseln ist möglich, so dass man z.B. sowohl das Master-Passwort eingeben, als auch eine Schlüsseldatei bereitstellen muss.

Man muss sich nun also nur noch das Master-Passwort merken. Die Passwörter für die einzelnen Dienste werden dann nur noch über den Passwort-Manager verwaltet und können beliebig lang/komplex sein. Ebenso kann man mit KeePass Passwörter erzeugen lassen, so dass man sich nicht mal mehr eigene Passwörter ausdenken muss.

Neben dem originalen KeePass gibt es eine Reihe weiterer Programme, die mit KeePass kompatibel sind. Mein Favorit darunter ist das Programm KeePassXC, welches aus einem Fork aus KeePass hervorgegangen ist.

Geöffnete Passwort-Datenbank mit KeePassXC

Geöffnete Passwort-Datenbank mit KeePassXC

Ebenso gibt es KeePass kompatible Clients für mobile Systeme. Unter Android verwende ich hierzu gern die App Keepass2Android.

Auf der Download-Seite von KeePass findet man hierzu eine Liste an alternativen Programmen/Apps.

Ebenfalls gibt es für KeePassXC Browser-Addons (Firefox, Chrome), die Passwörter aus einer (geöffneten) kdbx-Datenbank auslesen und bei der Anmeldung im Browser automatisch ausfüllen können.

KeePass und Nextcloud

Für den Zugriff auf die eigenen Passwörter braucht man also nur die KeePass-Datenbank (kdbx-Datei) und einen KeePass-Client. Wenn man nun allerdings von mehreren Geräten Zugriff auf die Passwörter haben möchte, muss man immer erst noch die aktuelle Version der kdbx-Datei auf das jeweilige Gerät kopieren. Das ist mühselig und auch fehleranfällig: Wo liegt nun nochmal die aktuelle Version der KeePass-Datenbank? Habe ich diese zuletzt auf dem Notebook oder auf dem PC bearbeitet?

Hier kommt dann Nextcloud ins Spiel: Für eine solche Cloud-Anwendung ist das Synchronisieren von Dateien eine der leichtesten Übungen. Am besten lädt man direkt nach der Erstellung des Passwort-Safes die kdbx-Datei in die eigene Nextcloud-Instanz in einen eigenen Ordner (z.B. „Passwörter“) hoch. Ab nun liegt immer die aktuellste Version dieser Datei in der Cloud.

Ab jetzt befindet sich die aktuellste Version der KeePass-Datenbank immer in der Nextcloud

Ab jetzt befindet sich die aktuellste Version der KeePass-Datenbank immer in der Nextcloud

Nun muss man nur noch sicher stellen, dass jedes Gerät immer mit der aktuellsten Version der Datei arbeitet. Am PC/Notebook nutzt man dazu am besten den Desktop-Sync-Client von Nextcloud: Man fügt einfach für den Order „Passwörter“ eine Synchronisation hinzu:

Nextcloud-Client: Synchronisation für den Passwort-Ordner hinzufügen

Nextcloud-Client: Synchronisation für den Passwort-Ordner hinzufügen

Nun ist auf diesem Gerät die aktuellste kdbx-Datei immer im jeweiligen Sync-Order für Nextcloud vorhanden, also z.B. /home/user/Nextcloud/Passwörter/Passwörter.kdbx.
Über KeePassXC öffnet man nun einfach diese Datei. Nach dem Bearbeiten der Einträge wird die Datei gespeichert. Sofort springt der Sync-Client von Nextcloud an und lädt die veränderte Version in die Cloud.

Wichtig: Falls man die KeePass-Datenbank mit Passwort und Schlüsseldatei gesichert hat, sollte man die Schlüsseldatei natürlich nicht neben der kdbx-Datei in der Cloud bereit stellen, sondern getrennt davon abspeichern: Am besten nur auf den jeweiligen Geräten selbst, auf einem USB-Stick, etc.

Auf einem Mobilgerät (z.B. mit Keepass2Android) läuft die Sache etwas anders ab: Hier wird die KeePass-Datenbank direkt per WebDAV geöffnet. Beim Öffnen der App gibt man daher den direkten Link zur kdbx-Datei ein, also z.B. https://meinedomain.de/nextcloud/remote.php/dav/files/user/Passwörter/Passwörter.kdbx.
Gespeichert wird wiederum per WebDAV, so dass die kdbx-Datei nach der Bearbeitung direkt in der Cloud aktualisiert wird.

KeePass-Datei direkt in Nextcloud öffnen

Es geht allerdings noch komfortabler: Mit KeeWeb existiert ein weiterer KeePass-Client, der auch im Web lauffähig ist. Und genau diesen Client (in der Web-Version) gibt es auch als eigenständige Nextcloud-App:
Im Nextcloud App Store findet man dazu in der Kategorie „Werkzeuge“ die App Keeweb.

Nach der Installation aus dem App Store ist allerdings noch ein kleiner Schritt notwendig, damit die in der Cloud gespeicherten kdbx-Dateien direkt per Klick geöffnet werden können. Dazu legen wir eine neue Datei im gleichen Order an, in dem auch schon die config.php von Nextcloud enthalten ist, also z.B.:

Hier fügen wir folgenden Inhalt ein:

Damit die Änderungen greifen, muss noch ein Datei-Scan von Nextcloud angestoßen werden:

Nun kann die Passwort-Datei in der Nextcloud-Instanz ganz einfach per Klick geöffnet werden:

Geöffnete KeePass-Datei in Nextcloud/Keeweb

Geöffnete KeePass-Datei in Nextcloud/Keeweb

Damit kann man sich die Synchronisierung der kdbx-Datei auf die einzelnen Geräte eigentlich sparen, da man nun jederzeit direkt in der eigenen Nextcloud an die gespeicherten Passwörter kommt. Einen „echten“ Desktop-Client wie KeePassXC braucht man eigentlich nur noch, wenn man z.B. die Integration mittels Browser-Addon benötigt.

Die Alternativen

Für Nextcloud-User, die KeePass bereits nutzen, ist die Integration der bestehenden Passwort-Verwaltung in die eigenen Cloud sicherlich sinnvoll. An dieser Stelle soll allerdings auch erwähnt werden, dass es darüber hinaus noch zwei Alternativen gibt:

Im Nextcloud App Store befinden sich mit Passman und Passwords noch zwei weitere Apps, mit den Passwörter in der eigenen Nextcloud verwaltet werden können. Beide Apps speichern ihre Einträge dabei direkt in der Cloud und nicht in kdbx-Dateien, daher sind die Apps auch nicht kompatibel mit KeePass. Dennoch bieten die Apps z.T. erweiterte Features, wie z.B. das direkte Teilen von einzelnen Passwörtern mit anderen Nextcloud-Benutzern oder per Link. Mit der KeePass-Lösung kann man nur die gesamte kdbx-Datei teilen, daher gilt hier das Motto „alles oder nichts“.

Fazit

In diesem Artikel wurde gezeigt, wie man seine Passwörter ganz einfach in der eigenen Nextcloud-Instanz verwalten kann. Nutzer von KeePass oder alternativen Clients können im einfachsten Fall die Funktionen zur Datei-Synchronisierung von Nextcloud nutzen, aber auch eine direkte Integration ist per App möglich, so dass kdbx-Dateien direkt in der Cloud geöffnet und bearbeitet werden können.

Darüber hinaus gibt es mit den Apps Passman und Passwords noch Alternativen für die Passwort-Verwaltung mit Nextcloud. Welche Lösung hier die beste (oder komfortabelste) ist, muss jedoch jeder für sich selbst herausfinden. Dazu können die Apps auch erst einmal im Parallelbetrieb installiert/getestet werden.

Wenn man sich für eine Lösung entschieden hat, werden die eigenen Passwörter zukünftig in der eigenen Cloud verwaltet. Durch den Einsatz eines Online-Password-Managers muss man sich nun nie mehr komplizierte Passwörter ausdenken und schon gar nicht merken.

Ich bin zwar kein Fan von Wechsel dein Passwort-Tagen, aber vielleicht ist dieser Artikel mal ein Anreiz, den Umgang mit eigenen Passwörtern zu überdenken und ggf. anzupassen.

Was haltet ihr davon? Wie verwaltet ihr eure Passwörter? Hinterlasst mir dazu doch einfach einen Kommentar.

Weiterführende Artikel

Links

, , , , , , , , , , ,

Kommentare: 7

  • mblaster4711 sagt:

    Ich verwalte meine Passwörter so ähnlich.
    Bei mir wird von allen Clients (ich selbst nutze immer nur einen zu gleichen Zeit) die kdbx direkt per Webdav geöffnet und gespeichert. Somit bin ich nicht auf Nextcloid oder den Sync-Clienten angewiesen, da Wedav jedes OS unterstützt.
    Als Apps verwende ich unter
    Windows Keepass (portable)
    Mac OSX Macpass
    Android Keepass2Android
    iOS Keypass4 (leider nicht kostenlos)

    Kostenlose Cloud (10GB) mit Webdav und täglicher Sicherung (3 Monate Vorhaltezeit) gibt es bei der Telekom.

  • Tom sagt:

    Ich synchronisiere mein KeePassXC-Safe auch über die Nextcloud, allerdings verzichte ich auf die Synchronisation mit einem Android-Smartphone weil ich es für grundsätzlich unsicher finde (proprietäres Basband, aktuelles LOS 14 zwar drauf aber die Unterstützung wurde schon abgekündigt).

    Auf dem Smartphone nutze ich allerdings
    https://f-droid.org/de/packages/com.android.keepass/
    für ein nicht ganz wichtiges KeePass-Safe.

    Ansonsten verzichte ich auch ich aus Sicherheitsgründen auf KeePass-Firefox-Addons (das würde durch Firejail (Sandbox) auch nicht so ohne weiteres funktionieren).

  • Jakob sagt:

    Hallo,
    ich habe vor einiger Zeit mehrere Passwort Manager verglichen und mir ist die Integration am Handy und auch im Browser wichtig.
    Wenn es nicht gut funktioniert nutze ich es nicht.

    Keypass funktioniert am Handy mit FF noch nicht: https://github.com/PhilippC/kp2a_accservice_autofill/issues/23

    Und bei Passmann/words: fehlt Autosync, Fingerprint, Auto Fill, Browser Integration.
    Hier ein guter Vergleich beider Tools: https://git.mdns.eu/nextcloud/passwords/wikis/Administrators/Feature-Comparison

    Daher fahre ich aktuell mit Bitwarden.

    Gruss,
    Jakob

  • BigBuilder sagt:

    Hallo,
    ich habe diese Lösung bei mir genau so umgesetzt. Der Sync Client unter Windows macht mir aber Probleme, er synchronisiert nicht bei jedem speichern der Datenbank. Warum auch immer? Ich bin dazu übergegangen die Datei direkt über webdav abzurufen. Im Menü von Keepass 2 Datei->öffnen-> Url öffnen.. kann ich den Pfad so angeben https://meineurl.de/remote.php/webdav/pfad/datenbank.kdbx. Dann arbeite ich direkt in der Datei. Der Nachteil ohne Internet kein Zugang zur Datenbank.

    Mich würde es freuen wenn du mal zum Thema Bitwarden selbsthosten mit Docker einen Artikel schreiben könntest. Vorallem die Konfiguration des Webservers um die Installation in einem eigenen Unterverzeichniss (meineurl.de/bitwarden) anzulegen macht mir aktuell zu schaffen. Das wäre eine denkbare Alternative für mich da Bitwarden direkte Browser Unterstüzung sowie gute Apps für Android sowie Linux und MacOS mitbringt.

    Danke für die zahlreichen sehr guten Anleitungen auf deinem Blog (die meisten sind 1 zu 1 bei mir im Einsatz). Das Thema eigener Firefox-Accout Server reizt mich auch sehr.

    • Jan sagt:

      Hi,

      danke für den Hinweis, dass man mit KeePass2 kdbx-Dateien auch direkt über die WebDAV-URL öffnen kann. Ich nutze mittlerweile nur noch KeePassXC, hier ist diese Möglichkeit leider nicht gegeben.

      Gruß,
      Jan

    • quecke sagt:

      >Dann arbeite ich direkt in der Datei. Der Nachteil ohne Internet kein Zugang >zur Datenbank.

      Keepass2Android hält auch immer eine lokale Kopie vom letzten Sync auf dem Smartphone vor, so kommst Du zumindest an die Einträge ran und kannst später den Sync neu anstossen.

      Der Wermutstropfen für mich ist, dass es derzeit leider keinen vernünftigen Client mehr für IOS gibt. Da war mal KyPass aber das wird wohl nicht mehr gepflegt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.